From: Nicholas Piggin <npiggin@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Nicholas Piggin <npiggin@gmail.com>
Subject: [RFC PATCH 00/12] numa aware allocation for pacas, stacks,
Date: Tue, 13 Feb 2018 03:08:10 +1000 [thread overview]
Message-ID: <20180212170822.14612-1-npiggin@gmail.com> (raw)
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
next reply other threads:[~2018-02-12 17:08 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-12 17:08 Nicholas Piggin [this message]
2018-02-12 17:08 ` [RFC PATCH 01/12] powerpc/64s: do not allocate lppaca if we are not virtualized Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 02/12] powerpc/64: Use array of paca pointers and allocate pacas individually Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 03/12] powerpc/64s: allocate lppacas individually Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 04/12] powerpc/64s: allocate slb_shadow structures individually Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 05/12] mm: make memblock_alloc_base_nid non-static Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 06/12] powerpc/mm/numa: move numa topology discovery earlier Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 07/12] powerpc/64: move default SPR recording Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 08/12] powerpc/setup: cpu_to_phys_id array Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 09/12] powerpc/64: defer paca allocation until memory topology is discovered Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 10/12] powerpc/64: allocate pacas per node Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 11/12] powerpc/64: allocate per-cpu stacks node-local if possible Nicholas Piggin
2018-02-12 17:08 ` [RFC PATCH 12/12] powerpc/64s/radix: allocate kernel page tables " Nicholas Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180212170822.14612-1-npiggin@gmail.com \
--to=npiggin@gmail.com \
--cc=linuxppc-dev@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).