cvs commit: src/sys/i386/i386 vm_machdep.c src/sys/vm uma_core.c vm_fault.c

Alan Cox alc at FreeBSD.org
Tue Mar 9 20:44:43 PST 2004


alc         2004/03/09 20:44:43 PST

  FreeBSD src repository

  Modified files:
    sys/i386/i386        vm_machdep.c 
    sys/vm               uma_core.c vm_fault.c 
  Log:
   - Make the acquisition of Giant in vm_fault_unwire() conditional on the
     pmap.  For the kernel pmap, Giant is not required.  In general, for
     other pmaps, Giant is required by i386's pmap_pte() implementation.
     Specifically, the use of PMAP2/PADDR2 is synchronized by Giant.
     Note: In principle, updates to the kernel pmap's wired count could be
     lost without Giant.  However, in practice, we never use the kernel
     pmap's wired count.  This will be resolved when pmap locking appears.
   - With the above change, cpu_thread_clean() and uma_large_free() need
     not acquire Giant.  (The first case is simply the revival of
     i386/i386/vm_machdep.c's revision 1.226 by peter.)
  
  Revision  Changes    Path
  1.230     +0 -2      src/sys/i386/i386/vm_machdep.c
  1.93      +1 -11     src/sys/vm/uma_core.c
  1.186     +4 -2      src/sys/vm/vm_fault.c


More information about the cvs-src mailing list