linux_dsm_epyc7002/arch/powerpc/include/asm
Michael Ellerman 21a0e8c14b powerpc/mm/hash64: Make vmalloc 56T on hash
On 64-bit book3s, with the hash MMU, we currently define the kernel
virtual space (vmalloc, ioremap etc.), to be 16T in size. This is a
leftover from pre v3.7 when our user VM was also 16T.

Of that 16T we split it 50/50, with half used for PCI IO and ioremap
and the other 8T for vmalloc.

We never bothered to make it any bigger because 8T of vmalloc ought to
be enough for anybody. But it turns out that's not true, the per cpu
allocator wants large amounts of vmalloc space, not to make large
allocations, but to allow a large stride between allocations, because
we use pcpu_embed_first_chunk().

With a bit of juggling we can increase the entire kernel virtual space
to 64T. The only real complication is the check of the address in the
SLB miss handler, see the comment in the code.

Although we could continue to split virtual space 50/50 as we do now,
no one seems to be running out of PCI IO or ioremap space. So instead
keep that as 8T, and use the remaining 56T for vmalloc.

In future we should be able to increase the kernel virtual space to
512T, the code already supports that, it just needs testing on older
hardware.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
2017-08-08 19:37:05 +10:00
..
book3s powerpc/mm/hash64: Make vmalloc 56T on hash 2017-08-08 19:37:05 +10:00
nohash powerpc/mm: Rename map_page() to map_kernel_page() on 32-bit 2017-06-05 19:59:03 +10:00
8xx_immap.h
accounting.h sched/cputime, powerpc: Prepare accounting structure for cputime flush on tick 2017-01-14 09:54:12 +01:00
agp.h
archrandom.h
asm-compat.h
asm-offsets.h
asm-prototypes.h powerpc: Fix missing CRCs, add more asm-prototypes.h declarations 2017-03-21 22:09:26 +11:00
async_tx.h
atomic.h powerpc/64: Fix atomic64_inc_not_zero() to return an int 2017-07-12 21:49:55 +10:00
backlight.h
barrier.h powerpc/64: Drop explicit hwsync in context switch 2017-06-15 16:34:39 +10:00
bitops.h powerpc: Remove __ilog2()s and use generic ones 2017-06-02 19:23:56 +10:00
bootx.h
btext.h
bug.h debug: Fix WARN_ON_ONCE() for modules 2017-07-20 12:31:04 +02:00
bugs.h
cache.h powerpc: Add new cache geometry aux vectors 2017-02-06 19:46:04 +11:00
cacheflush.h
cell-pmu.h
cell-regs.h
checksum.h powerpc/64: Fix checksum folding in csum_add() 2017-03-04 23:07:17 +11:00
cmpxchg.h
code-patching.h powerpc64/elfv1: Only dereference function descriptor for non-text symbols 2017-07-03 23:08:50 +10:00
compat.h take compat_sys_old_getrlimit() to native syscall 2017-05-27 15:38:06 -04:00
context_tracking.h
copro.h
cpm1.h powerpc/8xx: Adding support of IRQ in MPC8xx GPIO 2017-05-02 22:35:00 -05:00
cpm2.h
cpm.h
cpu_has_feature.h powerpc/64s: Support new device tree binding for discovering CPU features 2017-05-09 23:42:55 +10:00
cpufeature.h
cpuidle.h powerpc/powernv: Save/Restore additional SPRs for stop4 cpuidle 2017-08-01 21:01:20 +10:00
cputable.h powerpc/64: Reclaim CPU_FTR_SUBCORE 2017-06-01 19:56:28 +10:00
cputhreads.h
cputime.h sched/cputime: Remove generic asm headers 2017-02-01 09:14:07 +01:00
current.h
dbdma.h
dbell.h powerpc/64s: msgclr when handling doorbell exceptions from system reset 2017-06-19 19:46:27 +10:00
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h
dcr.h
debug.h powerpc: Create asm/debugfs.h and move powerpc_debugfs_root there 2017-04-11 07:46:03 +10:00
debugfs.h powerpc: Create asm/debugfs.h and move powerpc_debugfs_root there 2017-04-11 07:46:03 +10:00
delay.h powerpc: use spin loop primitives in some functions 2017-07-02 20:40:24 +10:00
device.h treewide: Move dma_ops from struct dev_archdata into struct device 2017-01-24 12:23:35 -05:00
disassemble.h KVM: PPC: Book3S: Add MMIO emulation for FP and VSX instructions 2017-04-20 11:36:41 +10:00
dma-mapping.h powerpc: merge __dma_set_mask into dma_set_mask 2017-06-28 06:54:55 -07:00
dma.h
dt_cpu_ftrs.h powerpc/64s: Support new device tree binding for discovering CPU features 2017-05-09 23:42:55 +10:00
edac.h
eeh_event.h
eeh.h
ehv_pic.h
elf.h powerpc: move ELF_ET_DYN_BASE to 4GB / 4MB 2017-07-10 16:32:36 -07:00
emergency-restart.h
emulated_ops.h
epapr_hcalls.h
exception-64e.h
exception-64s.h powerpc/64s/paca: EX_CTR is not used with RELOCATABLE=n, remove it 2017-06-20 22:22:02 +10:00
exec.h
extable.h powerpc: switch to extable.h 2017-03-28 18:23:54 -04:00
fadump.h powerpc/fadump: avoid holes in boot memory area when fadump is registered 2017-06-28 13:08:09 +10:00
fb.h
feature-fixups.h powerpc/64s: Simplify POWER9 DD1 idle workaround code 2017-04-23 20:32:23 +10:00
firmware.h powerpc/pseries: Add hypercall wrappers for hash page table resizing 2017-02-09 21:45:48 +11:00
fixmap.h
floppy.h
fs_pd.h
fsl_85xx_cache_sram.h
fsl_gtm.h
fsl_hcalls.h scripts/spelling.txt: add "partiton" pattern and fix typo instances 2017-02-27 18:43:46 -08:00
fsl_lbc.h
fsl_pamu_stash.h
fsl_pm.h
ftrace.h
futex.h
grackle.h
hardirq.h
head-64.h powerpc/64s: Add EX_SIZE definition for paca exception save areas 2017-06-20 22:22:00 +10:00
heathrow.h
highmem.h
hmi.h
hugetlb.h powerpc/mm: Fix little-endian 4K hugetlb 2017-01-18 11:58:50 +11:00
hvcall.h ibmvnic: Client-initiated failover 2017-06-13 12:53:35 -04:00
hvconsole.h
hvcserver.h
hvsi.h
hw_breakpoint.h
hw_irq.h powerpc/64s/idle: Process interrupts from system reset wakeup 2017-06-19 19:46:27 +10:00
hydra.h
i8259.h
ibmebus.h
icswx.h
ide.h
ima.h powerpc: ima: send the kexec buffer to the next kernel 2016-12-20 09:48:44 -08:00
imc-pmu.h powerpc/powernv: Detect and create IMC device 2017-07-25 22:55:27 +10:00
immap_cpm2.h
io_event_irq.h
io-defs.h
io-workarounds.h
io.h powerpc/mm: Wire up ioremap_cache() 2017-04-21 21:08:47 +10:00
iommu.h powerpc: implement ->mapping_error 2017-06-28 06:54:33 -07:00
ipic.h
irq_work.h
irq.h
irqflags.h
isa-bridge.h powerpc: Add support for non-PCI ISA bridges 2017-01-31 13:54:17 +11:00
jump_label.h
Kbuild powerpc: allow compiling with GENERIC_MSI_IRQ_DOMAIN 2017-07-24 21:19:32 +10:00
kdebug.h
kdump.h
kexec.h powerpc: ima: send the kexec buffer to the next kernel 2016-12-20 09:48:44 -08:00
keylargo.h
kgdb.h
kmap_types.h
kprobes.h powerpc/kprobes: Skip livepatch_handler() for jprobes 2017-06-16 19:49:43 +10:00
kvm_asm.h
kvm_book3s_32.h
kvm_book3s_64.h powerpc/pseries: Skip using reserved virtual address range 2017-04-01 21:12:27 +11:00
kvm_book3s_asm.h KVM: PPC: Book3S HV: Simplify dynamic micro-threading code 2017-07-01 18:59:01 +10:00
kvm_book3s.h KVM: PPC: Book3S HV: Simplify dynamic micro-threading code 2017-07-01 18:59:01 +10:00
kvm_booke_hv_asm.h
kvm_booke.h
kvm_fpu.h
kvm_host.h Merge branch 'kvm-ppc-next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc into HEAD 2017-07-03 10:41:59 +02:00
kvm_para.h
kvm_ppc.h KVM: PPC: Book3S HV: Allow userspace to set the desired SMT mode 2017-06-19 14:34:20 +10:00
libata-portmap.h
linkage.h
livepatch.h powerpc/livepatch: Remove klp_write_module_reloc() stub 2016-12-19 11:15:25 +01:00
local.h
lppaca.h
lv1call.h
machdep.h powerpc/64s/idle: Move soft interrupt mask logic into C code 2017-06-19 19:46:26 +10:00
macio.h
mc146818rtc.h
mce.h powerpc/64s: Machine check handle ifetch from foreign real address for POWER9 2017-06-06 21:17:15 +10:00
mediabay.h
mm-arch-hooks.h
mman.h
mmu_context.h powerpc: Remove old unused icswx based coprocessor support 2017-08-03 16:06:52 +10:00
mmu-8xx.h
mmu-40x.h
mmu-44x.h
mmu-book3e.h powerpc/mm/nohash: MM_SLICE is only used by book3s 64 2017-03-31 23:09:47 +11:00
mmu.h powerpc/mm/hash: Support 68 bit VA 2017-03-31 23:10:00 +11:00
mmzone.h
module.h powerpc/modules: If mprofile-kernel is enabled add it to vermagic 2017-05-15 19:31:38 +10:00
mpc5xxx.h
mpc6xx.h
mpc52xx_psc.h
mpc52xx.h
mpc85xx.h
mpc5121.h
mpc8260.h
mpic_msgr.h
mpic_timer.h
mpic.h
msi_bitmap.h
nmi.h powerpc/64s: implement arch-specific hardlockup watchdog 2017-07-12 16:26:02 -07:00
nvram.h
ohare.h
opal-api.h powerpc/powernv: Enable PCI peer-to-peer 2017-08-08 11:27:30 +10:00
opal.h powerpc/powernv: Enable PCI peer-to-peer 2017-08-08 11:27:30 +10:00
oprofile_impl.h
paca.h powerpc/powernv: Save/Restore additional SPRs for stop4 cpuidle 2017-08-01 21:01:20 +10:00
page_32.h
page_64.h powerpc/mm/slice: Move slice_mask struct definition to slice.c 2017-03-31 23:09:56 +11:00
page.h powerpc/mm: Fix virt_addr_valid() etc. on 64-bit hash 2017-05-19 13:04:35 +10:00
parport.h
pasemi_dma.h
pci-bridge.h powerpc: Move isa bridge definitions to separate include 2017-01-31 13:54:17 +11:00
pci.h PCI: Add arch_can_pci_mmap_io() on architectures which can mmap() I/O space 2017-04-18 13:02:26 -05:00
percpu.h
perf_event_fsl_emb.h
perf_event_server.h powerpc/perf: Support to export MMCRA[TEC*] field to userspace 2017-04-19 20:00:22 +10:00
perf_event.h
pgalloc.h powerpc/mm/book(e)(3s)/64: Add page table accounting 2017-06-05 19:03:10 +10:00
pgtable-be-types.h powerpc/mm: Fix little-endian 4K hugetlb 2017-01-18 11:58:50 +11:00
pgtable-types.h powerpc/mm: Fix little-endian 4K hugetlb 2017-01-18 11:58:50 +11:00
pgtable.h powerpc/mm: Mark __init memory no-execute when STRICT_KERNEL_RWX=y 2017-07-18 19:54:24 +10:00
plpar_wrappers.h powerpc/pseries: Add hypercall wrappers for hash page table resizing 2017-02-09 21:45:48 +11:00
pmac_feature.h
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
pnv-pci.h powerpc/powernv: Enable PCI peer-to-peer 2017-08-08 11:27:30 +10:00
powernv.h powerpc/powernv: Introduce address translation services for Nvlink2 2017-04-04 13:27:26 +10:00
ppc4xx_ocm.h
ppc4xx.h
ppc_asm.h powerpc/64s: Fix FIXUP_ENDIAN non-maskable interrupt reentrancy 2017-05-30 14:59:51 +10:00
ppc-opcode.h powerpc/powernv: Use darn instruction for get_random_seed() on Power9 2017-08-08 19:37:03 +10:00
ppc-pci.h
probes.h
processor.h powerpc updates for 4.13 2017-07-07 13:55:45 -07:00
prom.h powerpc: Update to new option-vector-5 format for CAS 2017-03-06 21:44:09 +11:00
ps3.h treewide: Consolidate get_dma_ops() implementations 2017-01-24 12:23:35 -05:00
ps3av.h
ps3gpu.h
ps3stor.h
pte-common.h
ptrace.h
reg_8xx.h powerpc/8xx: Perf events on PPC 8xx 2017-01-26 17:49:34 -06:00
reg_a2.h
reg_booke.h powerpc: Remove old unused icswx based coprocessor support 2017-08-03 16:06:52 +10:00
reg_fsl_emb.h
reg.h powerpc/mm: Update definitions of DSISR bits 2017-08-03 16:06:43 +10:00
rheap.h
rio.h
rtas.h powerpc/pseries: Implement indexed-count hotplug memory add 2017-02-17 17:57:30 +11:00
runlatch.h
scom.h
seccomp.h
sections.h powerpc/kprobes: Blacklist exception handlers 2017-04-23 20:32:25 +10:00
serial.h
setjmp.h
setup.h
sfp-machine.h
shmparam.h
signal.h
smp.h powerpc/64s: implement arch-specific hardlockup watchdog 2017-07-12 16:26:02 -07:00
smu.h
sparsemem.h powerpc/mm: Fix build break with BOOK3S_64=n and MEMORY_HOTPLUG=y 2017-02-15 19:58:39 +11:00
spinlock_types.h
spinlock.h
spu_csa.h
spu_info.h
spu_priv1.h
spu.h
sstep.h
string.h
swab.h
swiotlb.h treewide: Constify most dma_map_ops structures 2017-01-24 12:23:35 -05:00
switch_to.h
synch.h
syscall.h
syscalls.h powerpc/tracing: Allow tracing of mmap syscalls 2017-04-12 22:32:43 +10:00
systbl.h powerpc: Wire up statx() syscall 2017-03-16 20:45:53 +11:00
tce.h
termios.h
thread_info.h powerpc updates for 4.12 part 1. 2017-05-05 11:36:44 -07:00
time.h
timex.h
tlb.h mm: add tlb_remove_check_page_size_change to track page size change 2016-12-12 18:55:07 -08:00
tlbflush.h
tm.h
topology.h Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-07-03 18:08:06 -07:00
trace_clock.h
trace.h powerpc/mm: Trace tlbie(l) instructions 2017-06-23 21:14:49 +10:00
tsi108_irq.h
tsi108_pci.h
tsi108.h
types.h
uaccess.h Merge branch 'work.uaccess-unaligned' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-07-15 11:17:52 -07:00
udbg.h
uic.h
unaligned.h
uninorth.h
unistd.h powerpc: Wire up statx() syscall 2017-03-16 20:45:53 +11:00
uprobes.h
user.h
vdso_datapage.h
vdso.h
vga.h
vio.h
word-at-a-time.h
xics.h powerpc: Change the doorbell IPI calling convention 2017-04-13 23:34:33 +10:00
xilinx_intc.h
xilinx_pci.h
xive-regs.h powerpc/xive: Native exploitation of the XIVE interrupt controller 2017-04-10 21:41:34 +10:00
xive.h powerpc/xive: Fix offset for store EOI MMIOs 2017-06-15 23:29:39 +10:00
xmon.h powerpc/xive: Native exploitation of the XIVE interrupt controller 2017-04-10 21:41:34 +10:00
xor.h