Remove the last source of SMP TLB invalidations in the critical code path
authorMatthew Dillon <dillon@dragonflybsd.org>
Fri, 8 Jun 2007 00:57:04 +0000 (00:57 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Fri, 8 Jun 2007 00:57:04 +0000 (00:57 +0000)
commitc3834cb2e55a2005e0ffcf67f54504f75412c629
tree51928996d2c0a84d41f13a34e737f9e50a400af1
parent4ace1107b0982b58aaf50c983a421db2e6463065
Remove the last source of SMP TLB invalidations in the critical code path
for fork/exec/exit/wait sequences.  The pmap page directory is now left
cached in kernel memory until the pmap is destroyed via the objcache
dtor function for VM spaces (vmspace_dtor() -> pmap_puninit()).

This improves fork/exec performance and significantly reduces the IPI
messaging load and other cross-cpu interactions.
sys/platform/pc32/i386/pmap.c
sys/platform/pc32/include/pmap.h