freebsd-nq/sys/powerpc/pseries
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
..
mmu_phyp.c New pmap implementation for 64-bit PowerPC processors. The main focus of 2015-02-24 21:37:20 +00:00
phyp_console.c This driver doesn't need the /options node, so don't check for it. 2013-11-27 22:02:55 +00:00
phyp_llan.c Mechanically convert to if_inc_counter(). 2014-09-19 09:20:34 +00:00
phyp_vscsi.c Fix race in interrupt handling that could cause IO to hang up under heavy 2015-02-23 20:38:00 +00:00
phyp-hvcall.h
phyp-hvcall.S Allow hypervisor calls with more than 7 arguments. 2013-10-20 01:28:39 +00:00
platform_chrp.c Properly hide a variable under #ifdef as it is only used inside the 2015-02-09 11:34:45 +00:00
plpar_iommu.c Fix bug in mapppings of multiple pages exposed by updates to the VSCSI 2015-01-27 07:20:00 +00:00
plpar_iommu.h
plpar_pcibus.c Following the approach with ACPI DMAR on x86, split IOMMU handling into 2013-11-12 16:15:09 +00:00
rtas_dev.c Move Open Firmware device root on PowerPC, ARM, and MIPS systems to 2014-02-05 14:44:22 +00:00
rtas_pci.c Move Open Firmware device root on PowerPC, ARM, and MIPS systems to 2014-02-05 14:44:22 +00:00
vdevice.c Restore use of ofw_bus_intr_to_rl() in the pseries vdevice driver after fixing 2015-01-05 21:39:35 +00:00
xics.c Add error reporting to interrupt CPU binding. 2015-02-10 00:57:26 +00:00