freebsd_amp_hwpstate/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
fs tmpfs: reorder struct tmpfs_node to shrink it by 8 bytes 2020-11-05 11:24:45 +00:00
gdb
geom Remove frontstuff 2020-10-27 06:43:24 +00:00
gnu
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
libkern
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
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
netpfil
netsmb
nfs
nfsclient
nfsserver
nlm
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
security
sys Suspend all writeable local filesystems on power suspend. 2020-11-05 20:52:49 +00:00
teken
tests
tools
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
xen
Makefile