the bitrig pedro_amd64_pmap branch has been created by pedro.

it is 0 commits behind master, and 1 commit ahead.

commit 8d89e4d92961e6e5b123140d42dac9d5ee3b1419
diff: https://github.com/bitrig/bitrig/commit/8d89e4d
author: pedro martelletto <[email protected]>
date: Tue Aug 19 15:09:29 2014 +0200

pmap improvements for smp

diff originally from [email protected] for i386 (back in 2008!), adapted to 
amd64
and enhanced by [email protected], with minor modifications by yours truly.

short description by fritsch@:

"Instead of mapping the PTEs of an inactive pmap in the APTE range, and then
doing an unconditional remote TLB-flush on all CPUs, we just switch to the other
pmap locally. This only causes a local TLB-flush.  I have also reordered some
stuff so that we will usually send the TLB-shootdown-IPIs first, then do some
local stuff, and then wait for the remote TLB-shootdown to finish."

effect on bare metal should be noticeable, particularly when forking. on kvm,
the difference is brutal: a speedup of nearly 5x.

M       sys/arch/amd64/amd64/pmap.c
M       sys/arch/amd64/include/pmap.h

Reply via email to