b8cb7e293a
In particular, stop using pmap_pte() to read non-promoted pte while walking the page table. pmap_pte() needs to shoot down the kernel mapping globally which causes IPI broadcast. Since pmap_extract_and_hold() is used for slow copyin(9), it is very significant hit for the 4/4 kernels. Instead, create single purpose per-processor page frame and use it to locally map page table page inside the critical section, to avoid reuse of the frame by other thread if context switched. Measurement demostrated very significant improvements in any load that utilizes copyin/copyout. Found and benchmarked by: bde Sponsored by: The FreeBSD Foundation |
||
---|---|---|
.. | ||
acpica | ||
bios | ||
cloudabi32 | ||
conf | ||
i386 | ||
ibcs2 | ||
include | ||
linux | ||
pci | ||
Makefile |