8d11dd01a1
this change is to improve concurrency: - Drop global state stored in the shadow overflow page table (and all other global state) - Remove all global locks - Use per-PTE lock bits to allow parallel page insertion - Reconstruct state when requested for evicted PTEs instead of buffering it during overflow This drops total wall time for make buildworld on a 32-thread POWER8 system by a factor of two and system time by a factor of three, providing performance 20% better than similarly clocked Core i7 Xeons per-core. Performance on smaller SMP systems, where PMAP lock contention was not as much of an issue, is nearly unchanged. Tested on: POWER8, POWER5+, G5 UP, G5 SMP (64-bit and 32-bit kernels) Merged from: user/nwhitehorn/ppc64-pmap-rework Looked over by: jhibbits, andreast MFC after: 3 months Relnotes: yes Sponsored by: FreeBSD Foundation |
||
---|---|---|
.. | ||
ehci_ps3.c | ||
if_glc.c | ||
if_glcreg.h | ||
mmu_ps3.c | ||
ohci_ps3.c | ||
platform_ps3.c | ||
ps3_syscons.c | ||
ps3-hv-asm.awk | ||
ps3-hv-header.awk | ||
ps3-hvcall.h | ||
ps3-hvcall.master | ||
ps3-hvcall.S | ||
ps3bus.c | ||
ps3bus.h | ||
ps3cdrom.c | ||
ps3disk.c | ||
ps3pic.c |