freebsd-skq/sys/powerpc/booke
jhibbits 26e5200797 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
..
booke_machdep.c Introduce 64-bit PowerPC Book-E support 2017-03-17 21:40:14 +00:00
locore.S Fix debug interrupts on 64-bit Book-E 2017-11-01 02:40:15 +00:00
machdep_e500.c Add platform support for QorIQ SoCs. 2015-12-30 03:43:25 +00:00
machdep_ppc4xx.c Remove booke_enable_l3_cache declaration and remaining definition. 2016-07-17 19:24:28 +00:00
mp_cpudep.c Introduce 64-bit PowerPC Book-E support 2017-03-17 21:40:14 +00:00
platform_bare.c
pmap.c Check the page table before TLB1 in pmap_kextract() 2017-11-21 03:12:16 +00:00
spe.c Create a new MACHINE_ARCH for Freescale PowerPC e500v2 2016-10-22 01:57:15 +00:00
trap_subr.S Clear the WE bit in C code rather than the asm 2017-11-08 01:23:37 +00:00