freebsd-nq/sys/powerpc/ps3
Nathan Whitehorn 827cc9b981 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
2015-02-24 21:37:20 +00:00
..
ehci_ps3.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
if_glc.c Mechanically convert to if_inc_counter(). 2014-09-19 09:20:34 +00:00
if_glcreg.h
mmu_ps3.c New pmap implementation for 64-bit PowerPC processors. The main focus of 2015-02-24 21:37:20 +00:00
ohci_ps3.c Add 64-bit DMA support in the XHCI controller driver. 2015-01-05 20:22:18 +00:00
platform_ps3.c Use FDT properties to identify a PS3 if present. 2015-01-05 01:05:35 +00:00
ps3_syscons.c Allow use of higher-resolution (e.g. 1920x1080) framebuffers on PS3. 2015-02-22 02:59:53 +00:00
ps3-hv-asm.awk
ps3-hv-header.awk
ps3-hvcall.h
ps3-hvcall.master
ps3-hvcall.S
ps3bus.c Fix interrupt allocation after changes to nexus. This makes PS3 boot 2014-05-11 16:49:31 +00:00
ps3bus.h
ps3cdrom.c Changes to CAM or busdma have caused SIMs to be sent 0-length CCBs on 2013-09-29 20:10:22 +00:00
ps3disk.c
ps3pic.c Repair some races in IPI handling: 2014-05-12 02:56:27 +00:00