cvs commit: src/sys/vm vm.h vm_fault.c vm_map.c vm_meter.c

Alan Cox alc at FreeBSD.org
Sun Aug 15 23:16:13 PDT 2004


alc         2004-08-16 06:16:12 UTC

  FreeBSD src repository

  Modified files:
    sys/vm               vm.h vm_fault.c vm_map.c vm_meter.c 
  Log:
   - Introduce and use a new tunable "debug.mpsafevm".  At present, setting
     "debug.mpsafevm" results in (almost) Giant-free execution of zero-fill
     page faults.  (Giant is held only briefly, just long enough to determine
     if there is a vnode backing the faulting address.)
  
     Also, condition the acquisition and release of Giant around calls to
     pmap_remove() on "debug.mpsafevm".
  
     The effect on performance is significant.  On my dual Opteron, I see a
     3.6% reduction in "buildworld" time.
  
   - Use atomic operations to update several counters in vm_fault().
  
  Revision  Changes    Path
  1.24      +13 -0     src/sys/vm/vm.h
  1.192     +11 -7     src/sys/vm/vm_fault.c
  1.360     +4 -4      src/sys/vm/vm_map.c
  1.76      +8 -0      src/sys/vm/vm_meter.c


More information about the cvs-all mailing list