From: Nicholas Piggin <npiggin@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Nicholas Piggin <npiggin@gmail.com>
Subject: [RFC PATCH 00/11] relaxing allocation constraints on radix and bare metal
Date: Sat, 22 Jul 2017 11:17:30 +1000 [thread overview]
Message-ID: <20170722011741.13942-1-npiggin@gmail.com> (raw)
Hi,
This series isn't greatly polished or well tested yet, but it's
conceptually simple so I'll just get some comments. Powernv does not
have any real mode access limitation, and ISA3 radix does not have
any SLB/TLB limitation on the kernel linear address. We also can
avoid some allocations when not running as a LPAR guest.
After lifting these limits, we're in a better position to make some
of our important structures node-local. At least on radix. Hash could
as well, if node > 0 CPUs were to also bolt SLB corresponding with
their local memory (but that's left as an exercise for the reader).
Anyway, I'd be interested in comments.
Thanks,
Nick
Nicholas Piggin (11):
powerpc/powernv: powernv platform is not constrained by RMA
powerpc/powernv: Remove real mode access limit for early allocations
powerpc/64s/radix: Remove SLB address limit for per-cpu stacks
powerpc/64s: Relax PACA address limitations
powerpc/64s/radix: Do not allocate SLB shadow structures
powerpc/64s: do not allocate lppaca if we are not virtualized
mm: make memblock_alloc_base_nid non-static
powerpc/64: Allocate PACAs node-local if possible
powerpc/64s: Allocate LPPACAs node-local if possible
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 | 15 +-
arch/powerpc/include/asm/paca.h | 12 +-
arch/powerpc/include/asm/pmc.h | 10 +-
arch/powerpc/include/asm/smp.h | 4 +-
arch/powerpc/include/asm/sparsemem.h | 2 +-
arch/powerpc/kernel/asm-offsets.c | 7 +
arch/powerpc/kernel/crash.c | 2 +-
arch/powerpc/kernel/head_64.S | 12 +-
arch/powerpc/kernel/machine_kexec_64.c | 37 +++--
arch/powerpc/kernel/paca.c | 192 ++++++++++++++++--------
arch/powerpc/kernel/prom.c | 10 +-
arch/powerpc/kernel/setup_64.c | 69 +++++----
arch/powerpc/kernel/smp.c | 10 +-
arch/powerpc/kvm/book3s_hv.c | 21 +--
arch/powerpc/kvm/book3s_hv_builtin.c | 2 +-
arch/powerpc/kvm/book3s_hv_interrupts.S | 3 +-
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 5 +-
arch/powerpc/mm/hash_utils_64.c | 26 ++--
arch/powerpc/mm/mem.c | 4 +-
arch/powerpc/mm/numa.c | 13 +-
arch/powerpc/mm/pgtable-book3s64.c | 6 +-
arch/powerpc/mm/pgtable-radix.c | 210 +++++++++++++++++----------
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/opal.c | 7 +-
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/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 +-
40 files changed, 465 insertions(+), 282 deletions(-)
--
2.11.0
next reply other threads:[~2017-07-22 1:17 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-22 1:17 Nicholas Piggin [this message]
2017-07-22 1:17 ` [RFC PATCH 01/11] powerpc/powernv: powernv platform is not constrained by RMA Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 02/11] powerpc/powernv: Remove real mode access limit for early allocations Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 03/11] powerpc/64s/radix: Remove SLB address limit for per-cpu stacks Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 04/11] powerpc/64s: Relax PACA address limitations Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 05/11] powerpc/64s/radix: Do not allocate SLB shadow structures Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 06/11] powerpc/64s: do not allocate lppaca if we are not virtualized Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 07/11] mm: make memblock_alloc_base_nid non-static Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 08/11] powerpc/64: Allocate PACAs node-local if possible Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 09/11] powerpc/64s: Allocate LPPACAs " Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 10/11] powerpc/64: allocate per-cpu stacks " Nicholas Piggin
2017-07-22 1:17 ` [RFC PATCH 11/11] 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=20170722011741.13942-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).