diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2015-02-24 21:37:20 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2015-02-24 21:37:20 +0000 |
commit | 8d11dd01a19b095bf6c81fc93fbe0fd479296553 (patch) | |
tree | e3935857aecf7f82b02c29c902bb6b2bbac21bb3 /cddl/lib/Makefile.inc | |
parent | dc47af0101cc47ef883a7f963d6856024fa955ba (diff) | |
download | FreeBSD-src-8d11dd01a19b095bf6c81fc93fbe0fd479296553.zip FreeBSD-src-8d11dd01a19b095bf6c81fc93fbe0fd479296553.tar.gz |
New pmap implementation for 64-bit PowerPC processors. The main focus of
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
Diffstat (limited to 'cddl/lib/Makefile.inc')
0 files changed, 0 insertions, 0 deletions