Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-4]: src/sys/uvm Pull up revision 1.72 (requested by chs):



details:   https://anonhg.NetBSD.org/src/rev/c241d1cf59a0
branches:  netbsd-1-4
changeset: 470534:c241d1cf59a0
user:      he <he%NetBSD.org@localhost>
date:      Sun Apr 30 12:40:26 2000 +0000

description:
Pull up revision 1.72 (requested by chs):
  Undo revision 1.13: don't block interrupts while deactivating
  one pmap and activating another, since these only affect user-
  level mappings which cannot be accessed from interrupt context.
  This fixes Sparc zstty overflows reported in PR#8322, since pmap
  operations are slow on old sun4c sparcs.

diffstat:

 sys/uvm/uvm_map.c |  8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

diffs (49 lines):

diff -r 893f4dc4b750 -r c241d1cf59a0 sys/uvm/uvm_map.c
--- a/sys/uvm/uvm_map.c Sun Apr 30 12:30:55 2000 +0000
+++ b/sys/uvm/uvm_map.c Sun Apr 30 12:40:26 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: uvm_map.c,v 1.36.2.3 1999/06/18 17:17:04 perry Exp $   */
+/*     $NetBSD: uvm_map.c,v 1.36.2.4 2000/04/30 12:40:26 he Exp $      */
 
 /* 
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -2300,7 +2300,6 @@
        struct proc *p; 
 {
        struct vmspace *nvm, *ovm = p->p_vmspace;
-       int s;
  
        if (ovm->vm_refcnt == 1)
                /* nothing to do: vmspace isn't shared in the first place */
@@ -2309,11 +2308,9 @@
        /* make a new vmspace, still holding old one */
        nvm = uvmspace_fork(ovm);
 
-       s = splhigh();                  /* make this `atomic' */
        pmap_deactivate(p);             /* unbind old vmspace */
        p->p_vmspace = nvm; 
        pmap_activate(p);               /* switch to new vmspace */
-       splx(s);                        /* end of critical section */
 
        uvmspace_free(ovm);             /* drop reference to old vmspace */
 }
@@ -2330,7 +2327,6 @@
 {
        struct vmspace *nvm, *ovm = p->p_vmspace;
        vm_map_t map = &ovm->vm_map;
-       int s;
 
 #ifdef sparc
        /* XXX cgd 960926: the sparc #ifdef should be a MD hook */
@@ -2394,11 +2390,9 @@
                 * install new vmspace and drop our ref to the old one.
                 */
 
-               s = splhigh();
                pmap_deactivate(p);
                p->p_vmspace = nvm;
                pmap_activate(p);
-               splx(s);
 
                uvmspace_free(ovm);
        }



Home | Main Index | Thread Index | Old Index