freebsd-nq/sys
Justin Hibbits 1ccb14588b Check the page table before TLB1 in pmap_kextract()
The vast majority of pmap_kextract() calls are looking for a physical memory
address, not a device address.  By checking the page table first this saves
the formerly inevitable 64 (on e500mc and derivatives) iteration loop
through TLB1 in the most common cases.

Benchmarking this on the P5020 (e5500 core) yields a 300% throughput
improvement on dtsec(4) (115Mbit/s -> 460Mbit/s) measured with iperf.

Benchmarked on the P1022 (e500v2 core, 16 TLB1 entries) yields a 50%
throughput improvement on tsec(4) (~93Mbit/s -> 165Mbit/s) measured with
iperf.

MFC after:	1 week
Relnotes:	Maybe (significant performance improvement)
2017-11-21 03:12:16 +00:00
..
amd64
arm Indent protection and some other oops from the prvious commits. 2017-11-20 19:56:11 +00:00
arm64
bsm
cam Quirk Seagate ST8000AS0003-2HH 2017-11-20 23:45:42 +00:00
cddl
compat
conf Indent protection and some other oops from the prvious commits. 2017-11-20 19:56:11 +00:00
contrib
crypto
ddb
dev cxgbe(4): Fix unsafe mailbox access in cudbg. 2017-11-21 01:18:58 +00:00
dts
fs msdosfs(5): Reflect READONLY attribute in file mode 2017-11-20 21:38:24 +00:00
gdb
geom
gnu
i386
isa
kern Update a comment in brelse() to match reality. 2017-11-20 20:53:03 +00:00
kgssapi
libkern
mips Preemptively map MIPS INTRNG interrupts on non-FDT MIPS targets 2017-11-21 01:54:48 +00:00
modules
net Fix off-by-one error in bit_nclear() usage 2017-11-20 21:57:04 +00:00
net80211
netgraph
netinet
netinet6
netipsec
netpfil
netsmb
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto
powerpc Check the page table before TLB1 in pmap_kextract() 2017-11-21 03:12:16 +00:00
riscv
rpc
security
sparc64
sys
teken
tests
tools
ufs
vm
x86
xdr
xen
Makefile