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-src
mailing list