linux/arch/sparc/kernel
Nitin Gupta c7d9f77d33 sparc64: Multi-page size support
Add support for using multiple hugepage sizes simultaneously
on mainline. Currently, support for 256M has been added which
can be used along with 8M pages.

Page tables are set like this (e.g. for 256M page):
    VA + (8M * x) -> PA + (8M * x) (sz bit = 256M) where x in [0, 31]

and TSB is set similarly:
    VA + (4M * x) -> PA + (4M * x) (sz bit = 256M) where x in [0, 63]

- Testing

Tested on Sonoma (which supports 256M pages) by running stream
benchmark instances in parallel: one instance uses 8M pages and
another uses 256M pages, consuming 48G each.

Boot params used:

default_hugepagesz=256M hugepagesz=256M hugepages=300 hugepagesz=8M
hugepages=10000

Signed-off-by: Nitin Gupta <nitin.m.gupta@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-02-23 08:30:28 -08:00
..
.gitignore
apc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
asm-offsets.c
audit.c
auxio_32.c
auxio_64.c
btext.c
central.c
cherrs.S
chmc.c
compat_audit.c
cpu.c
cpumap.c
cpumap.h
devices.c
dma.c
ds.c
dtlb_miss.S
dtlb_prot.S
ebus.c
entry.h
entry.S
etrap_32.S
etrap_64.S
fpu_traps.S
ftrace.c
getsetcc.S
head_32.S
head_64.S sparc64: Delete now unused user copy assembler helpers. 2016-10-24 21:22:27 -07:00
helpers.S
hvapi.c sparc64: Add ATU (new IOMMU) support 2016-11-18 11:16:59 -08:00
hvcalls.S
hvtramp.S
idprom.c
iommu.c arch/sparc: add option to skip DMA sync as a part of map and unmap 2016-12-14 16:04:07 -08:00
iommu_common.h sparc: drop duplicate header scatterlist.h 2016-11-19 10:43:07 -05:00
ioport.c arch/sparc: add option to skip DMA sync as a part of map and unmap 2016-12-14 16:04:07 -08:00
irq.h
irq_32.c
irq_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc 2017-01-30 15:47:19 -08:00
itlb_miss.S
ivec.S
jump_label.c sparc: Handle negative offsets in arch_jump_label_transform 2016-10-25 19:11:17 -07:00
kernel.h
kgdb_32.c
kgdb_64.c
kprobes.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
kstack.h
ktlb.S
ldc.c
led.c
leon_kernel.c sparc: leon: Fix a retry loop in leon_init_timers() 2016-12-11 18:15:49 -08:00
leon_pci.c
leon_pci_grpci1.c
leon_pci_grpci2.c
leon_pmc.c
leon_smp.c
Makefile sparc64:Support User Probes for sparc 2016-12-11 18:01:51 -08:00
mdesc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
misctrap.S
module.c
nmi.c sparc: implement watchdog_nmi_enable and watchdog_nmi_disable 2016-12-14 16:04:08 -08:00
of_device_32.c
of_device_64.c
of_device_common.c
of_device_common.h
pci.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
pci_common.c
pci_fire.c
pci_impl.h
pci_msi.c
pci_psycho.c
pci_sabre.c
pci_schizo.c
pci_sun4v.c sparc64: restore irq in error paths in iommu 2016-12-11 18:15:49 -08:00
pci_sun4v.h sparc64: Enable sun4v dma ops to use IOMMU v2 APIs 2016-11-18 11:17:00 -08:00
pci_sun4v_asm.S sparc64: Enable sun4v dma ops to use IOMMU v2 APIs 2016-11-18 11:17:00 -08:00
pcic.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
pcr.c
perf_event.c
pmc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
power.c sparc: kernel: use builtin_platform_driver 2016-12-11 18:15:48 -08:00
process_32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
process_64.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
prom.h
prom_32.c
prom_64.c
prom_common.c
prom_irqtrans.c
psycho_common.c
psycho_common.h
ptrace_32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ptrace_64.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
reboot.c
rtrap_32.S
rtrap_64.S
sbus.c
setup_32.c lib/show_mem.c: teach show_mem to work with the given nodemask 2017-02-22 16:41:30 -08:00
setup_64.c
signal32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
signal_32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
signal_64.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sigutil.h
sigutil_32.c
sigutil_64.c
smp_32.c
smp_64.c sparc64: Migrate hvcons irq to panicked cpu 2017-02-23 08:27:24 -08:00
sparc_ksyms.c
spiterrs.S
sstate.c sparc: Fixed typo in sstate.c. Replaced panicing with panicking 2017-01-16 22:31:51 -05:00
stacktrace.c
starfire.c
sun4d_irq.c
sun4d_smp.c
sun4m_irq.c
sun4m_smp.c
sun4v_ivec.S
sun4v_tlb_miss.S
sys32.S
sys_sparc32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sys_sparc_32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sys_sparc_64.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
syscalls.S
sysfs.c sparc/sysfs: Convert to hotplug state machine 2016-11-22 23:34:42 +01:00
systbls.h
systbls_32.S
systbls_64.S
time_32.c clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
time_64.c clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
trampoline_32.S
trampoline_64.S
traps_32.c
traps_64.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc 2017-01-30 15:47:19 -08:00
tsb.S sparc64: Multi-page size support 2017-02-23 08:30:28 -08:00
ttable_32.S
ttable_64.S sparc64:Support User Probes for sparc 2016-12-11 18:01:51 -08:00
una_asm_32.S
una_asm_64.S
unaligned_32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
unaligned_64.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
uprobes.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
urtt_fill.S
utrap.S
vio.c
viohs.c
visemul.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
vmlinux.lds.S
windows.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
winfixup.S
wof.S
wuf.S