freebsd-dev/sys
Leandro Lupori e2d6c417e3 Implement superpages for PowerPC64 (HPT)
This change adds support for transparent superpages for PowerPC64
systems using Hashed Page Tables (HPT). All pmap operations are
supported.

The changes were inspired by RISC-V implementation of superpages,
by @markj (r344106), but heavily adapted to fit PPC64 HPT architecture
and existing MMU OEA64 code.

While these changes are not better tested, superpages support is disabled by
default. To enable it, use vm.pmap.superpages_enabled=1.

In this initial implementation, when superpages are disabled, system
performance stays at the same level as without these changes. When
superpages are enabled, buildworld time increases a bit (~2%). However,
for workloads that put a heavy pressure on the TLB the performance boost
is much bigger (see HPC Challenge and pgbench on D25237).

Reviewed by:	jhibbits
Sponsored by:	Eldorado Research Institute (eldorado.org.br)
Differential Revision:	https://reviews.freebsd.org/D25237
2020-11-06 14:12:45 +00:00
..
amd64 linux(4): Deduplicate unimpl/dummy syscall handlers 2020-11-05 19:30:31 +00:00
arm Remove the 'nap' field from ARM's 'struct syscall_args', to bring it 2020-11-05 18:10:03 +00:00
arm64 linux(4): Deduplicate unimpl/dummy syscall handlers 2020-11-05 19:30:31 +00:00
bsm
cam Always return MMC errors from mmc_handle_reply() 2020-11-03 21:38:59 +00:00
cddl Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
compat linux(4): Deduplicate unimpl/dummy syscall handlers 2020-11-05 19:30:31 +00:00
conf linux(4): Deduplicate unimpl/dummy syscall handlers 2020-11-05 19:30:31 +00:00
contrib Add firmware modules for qat(4) 2020-11-05 16:00:30 +00:00
crypto Check cipher key lengths during probesession. 2020-11-05 23:31:58 +00:00
ddb db_search_symbol: prevent pollution from bogus symbols 2020-10-26 16:42:53 +00:00
dev nvme: change namei_request_zone into a malloc type 2020-11-05 21:44:58 +00:00
dts Brand our DTS with the Linux version it was imported from 2020-10-10 07:18:51 +00:00
fs tmpfs: reorder struct tmpfs_node to shrink it by 8 bytes 2020-11-05 11:24:45 +00:00
gdb gdb(4): Don't escape GDB special characters at application layer 2020-09-30 14:55:54 +00:00
geom Remove frontstuff 2020-10-27 06:43:24 +00:00
gnu Brand our DTS with the Linux version it was imported from 2020-10-10 07:18:51 +00:00
i386 linux(4): Deduplicate unimpl/dummy syscall handlers 2020-11-05 19:30:31 +00:00
isa
kern Suspend all writeable local filesystems on power suspend. 2020-11-05 20:52:49 +00:00
kgssapi State kgssapi dependency on xdr. 2020-09-17 22:29:38 +00:00
libkern arc4random(9): Integrate with RANDOM_FENESTRASX push-reseed 2020-10-10 21:48:06 +00:00
mips Fix UMA alignment for COP2 context structure. 2020-11-04 23:29:27 +00:00
modules linux(4): Deduplicate unimpl/dummy syscall handlers 2020-11-05 19:30:31 +00:00
net if_media.c SIOCGMEDIAX handler: improve loop 2020-11-03 14:33:04 +00:00
net80211 net80211: fix a typo 2020-11-04 12:07:33 +00:00
netgraph ng_l2tp: Fix callout synchronization in the rexmit timeout handler 2020-09-25 18:55:50 +00:00
netinet Add m_snd_tag_alloc() as a wrapper around if_snd_tag_alloc(). 2020-10-29 23:28:39 +00:00
netinet6 Fix use-after-free in icmp6_notify_error(). 2020-10-28 20:22:20 +00:00
netipsec Trigger soft lifetime expiration on sequence number 2020-10-16 11:27:01 +00:00
netpfil Add dtrace SDT probe ipfw:::rule-matched. 2020-10-21 15:01:33 +00:00
netsmb net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
nfs nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsclient nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsserver nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nlm nlm: clean up empty lines in .c and .h files 2020-09-01 22:14:52 +00:00
ofed Fix for referencing file via its vnode in ibore. 2020-11-02 10:44:29 +00:00
opencrypto Move cryptof_ioctl() below the routines it calls. 2020-11-06 00:15:52 +00:00
powerpc Implement superpages for PowerPC64 (HPT) 2020-11-06 14:12:45 +00:00
riscv riscv: set kernel_pmap hart mask more precisely 2020-11-05 00:52:52 +00:00
rpc Fix a potential memory leak in the NFS over TLS handling code. 2020-09-05 00:50:52 +00:00
security mac_framework.h: fix build with DEBUG_VFS_LOCKS and !MAC 2020-09-03 20:30:52 +00:00
sys Suspend all writeable local filesystems on power suspend. 2020-11-05 20:52:49 +00:00
teken Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
tests Add small tool to invoke kernel test framework tests. 2020-09-02 09:20:40 +00:00
tools Brand our DTS with the Linux version it was imported from 2020-10-10 07:18:51 +00:00
ufs UFS2: Fix DoS due to corrupted extattrfile 2020-10-30 19:00:42 +00:00
vm Implement superpages for PowerPC64 (HPT) 2020-11-06 14:12:45 +00:00
x86 linux(4): Deduplicate unimpl/dummy syscall handlers 2020-11-05 19:30:31 +00:00
xdr xdr: clean up empty lines in .c and .h files 2020-09-01 22:13:28 +00:00
xen xen: clean up empty lines in .c and .h files 2020-09-01 21:21:55 +00:00
Makefile