[RFC PATCH 00/12] numa aware allocation for pacas, stacks,
Nicholas Piggin
npiggin at gmail.com
Tue Feb 13 04:08:10 AEDT 2018
This series allows numa aware allocations for various early data
structures for radix. Hash still has a bolted SLB limitation that
prevents at least pacas and stacks from node-affine allocations.
Since I last posted a feeble attempt at this, I went back and tried
to cover the setup / topology discovery code a bit more thoroughly.
Paca allocation is deferred until quite late, and numa discover is
moved slightly earlier.
Still requires more testing with different platforms, BookE, pseries,
etc., But it seems to work with powernv so far.
Thanks,
Nick
Nicholas Piggin (12):
powerpc/64s: do not allocate lppaca if we are not virtualized
powerpc/64: Use array of paca pointers and allocate pacas individually
powerpc/64s: allocate lppacas individually
powerpc/64s: allocate slb_shadow structures individually
mm: make memblock_alloc_base_nid non-static
powerpc/mm/numa: move numa topology discovery earlier
powerpc/64: move default SPR recording
powerpc/setup: cpu_to_phys_id array
powerpc/64: defer paca allocation until memory topology is discovered
powerpc/64: allocate pacas per node
powerpc/64: allocate per-cpu stacks node-local if possible
powerpc/64s/radix: allocate kernel page tables node-local if possible
arch/powerpc/include/asm/book3s/64/hash.h | 2 +-
arch/powerpc/include/asm/book3s/64/radix.h | 2 +-
arch/powerpc/include/asm/kvm_ppc.h | 8 +-
arch/powerpc/include/asm/lppaca.h | 26 +--
arch/powerpc/include/asm/paca.h | 16 +-
arch/powerpc/include/asm/pmc.h | 13 +-
arch/powerpc/include/asm/setup.h | 1 +
arch/powerpc/include/asm/smp.h | 5 +-
arch/powerpc/include/asm/sparsemem.h | 2 +-
arch/powerpc/kernel/asm-offsets.c | 5 +
arch/powerpc/kernel/crash.c | 2 +-
arch/powerpc/kernel/head_64.S | 19 ++-
arch/powerpc/kernel/machine_kexec_64.c | 37 +++--
arch/powerpc/kernel/paca.c | 236 ++++++++++++++-------------
arch/powerpc/kernel/prom.c | 14 +-
arch/powerpc/kernel/setup-common.c | 30 +++-
arch/powerpc/kernel/setup.h | 9 +-
arch/powerpc/kernel/setup_64.c | 80 ++++++---
arch/powerpc/kernel/smp.c | 10 +-
arch/powerpc/kernel/sysfs.c | 18 +-
arch/powerpc/kvm/book3s_hv.c | 34 ++--
arch/powerpc/kvm/book3s_hv_builtin.c | 2 +-
arch/powerpc/kvm/book3s_hv_interrupts.S | 3 +-
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 3 +-
arch/powerpc/mm/hash_utils_64.c | 2 +-
arch/powerpc/mm/mem.c | 9 +-
arch/powerpc/mm/numa.c | 36 ++--
arch/powerpc/mm/pgtable-book3s64.c | 6 +-
arch/powerpc/mm/pgtable-radix.c | 178 +++++++++++++-------
arch/powerpc/mm/tlb-radix.c | 2 +-
arch/powerpc/platforms/85xx/smp.c | 8 +-
arch/powerpc/platforms/cell/smp.c | 4 +-
arch/powerpc/platforms/powernv/idle.c | 13 +-
arch/powerpc/platforms/powernv/setup.c | 4 +-
arch/powerpc/platforms/powernv/smp.c | 2 +-
arch/powerpc/platforms/powernv/subcore.c | 2 +-
arch/powerpc/platforms/pseries/hotplug-cpu.c | 2 +-
arch/powerpc/platforms/pseries/kexec.c | 7 +-
arch/powerpc/platforms/pseries/lpar.c | 4 +-
arch/powerpc/platforms/pseries/setup.c | 2 +-
arch/powerpc/platforms/pseries/smp.c | 4 +-
arch/powerpc/sysdev/xics/icp-native.c | 2 +-
arch/powerpc/xmon/xmon.c | 2 +-
include/linux/memblock.h | 5 +-
mm/memblock.c | 2 +-
45 files changed, 527 insertions(+), 346 deletions(-)
--
2.16.1
More information about the Linuxppc-dev
mailing list