kib b8cb7e293a Optimize i386 pmap_extract_and_hold().
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
2018-05-25 16:29:22 +00:00
..
2018-04-13 20:30:49 +00:00
2018-05-23 16:31:46 +00:00
2016-11-08 23:59:41 +00:00
2018-04-13 20:30:49 +00:00
2018-05-10 02:31:54 +00:00
2018-04-13 20:30:49 +00:00
2018-05-11 20:47:45 +00:00
2018-05-25 16:29:22 +00:00
2018-04-13 20:30:49 +00:00
2018-04-13 20:30:49 +00:00
2018-04-13 20:30:49 +00:00