freebsd-skq/sys
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
..
amd64 Always emulate MSR_PAT on Intel processors and don't rely on PAT save/restore 2015-02-24 05:35:15 +00:00
arm Fix endianness on FDT read in ARM GIC 2015-02-24 12:31:08 +00:00
boot Improve memory detection in biosmem.c 2015-02-23 22:58:51 +00:00
bsm
cam Fix printf format warnings on sparc64 and mips. 2015-02-24 05:43:16 +00:00
cddl Use the ARM unwinder with dtrace to extract the stack when asked. With this 2015-02-19 12:20:21 +00:00
compat Run make sysent. 2015-01-23 21:08:24 +00:00
conf Use KTR_COMPILE=(KTR_ALL) for LINTs, to get more code coverage. 2015-02-19 17:03:13 +00:00
contrib Merge ACPICA 20141107 and 20150204. 2015-02-18 20:33:00 +00:00
crypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
ddb ddb: ANSI-fy function declarations. 2014-10-12 18:01:52 +00:00
dev cxgbe(4): allow tx hardware checksumming on the netmap interface. 2015-02-24 21:31:13 +00:00
fs ext2fs: Plug small memory leak 2015-02-15 14:25:00 +00:00
gdb
geom Add devd(8) notifications for creation and destruction of GEOM devices. 2015-01-14 11:15:57 +00:00
gnu
i386 Ensure that the supplied data length is large enough to hold the base 2015-02-18 23:34:03 +00:00
isa
kern Keep a reference on the coredump vnode for vn_fullpath() call. Do it 2015-02-24 13:07:31 +00:00
kgssapi Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
libkern Similar to r277901, fix more -Wcast-qual warnings in libkern's strtoq(), 2015-01-29 21:54:01 +00:00
mips Remove this - I made it all work again a looong time ago. 2015-02-16 02:05:34 +00:00
modules sfxge: list header in SRCS 2015-02-22 18:57:28 +00:00
net Handle SIOCSIFCAP by propogating the request to the parent interface. This 2015-02-20 18:39:12 +00:00
net80211 Switch around the order of static inline to be in line with how it's 2015-01-11 18:43:45 +00:00
netgraph Revise default limit for maximum of netgraph data items. 2015-02-12 22:20:34 +00:00
netinet Change struct attribute to avoid aligned operations mismatch 2015-02-24 12:57:03 +00:00
netinet6 Now that all users of _WANT_IFADDR are fixed, remove this crutch and 2015-02-19 23:16:10 +00:00
netipsec Fix possible memory leak and several races in the IPsec policy management 2015-02-24 10:35:07 +00:00
netnatm
netpfil Even more fixes to !INET and !INET6 kernels. 2015-02-17 22:33:22 +00:00
netsmb
nfs Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nfsclient Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nfsserver Use M_SIZE() instead of hand-crafted (and mostly correct) NFSMSIZ() macro 2015-01-07 17:22:56 +00:00
nlm Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
ofed Macro fixes: 2015-02-23 12:54:46 +00:00
opencrypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
pc98 Factor out duplicated code from dumpsys() on each architecture into generic 2015-01-07 01:01:39 +00:00
powerpc New pmap implementation for 64-bit PowerPC processors. The main focus of 2015-02-24 21:37:20 +00:00
rpc rpc: Uninitialized pointer read 2015-02-02 16:07:07 +00:00
security Adjust printf format specifiers for dev_t and ino_t in kernel. 2014-12-17 07:27:19 +00:00
sparc64 Unbreak sparc64 after r276630 by calling __sparc_sigtramp_setup signal 2015-02-16 22:13:03 +00:00
sys Pass macro arguments properly. 2015-02-24 17:36:44 +00:00
teken mdoc: improvements to SEE ALSO. 2014-12-27 07:07:37 +00:00
tools
ufs Partially revert r277922, avoid sleeping and do flush if we a awaken, 2015-02-05 13:00:27 +00:00
vm Some minor style(9) fixes (whitespace + comment) 2015-02-17 08:50:26 +00:00
x86 Revert r276949 and redo the fix for PCIe/PCI bridges, which do not 2015-02-21 22:38:32 +00:00
xdr
xen Pacify clang 3.3 by ending the file with a newline. This is common 2015-01-06 21:26:35 +00:00
Makefile