linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 00/11] relaxing allocation constraints on radix and bare metal
@ 2017-07-22  1:17 Nicholas Piggin
  2017-07-22  1:17 ` [RFC PATCH 01/11] powerpc/powernv: powernv platform is not constrained by RMA Nicholas Piggin
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Nicholas Piggin @ 2017-07-22  1:17 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: Nicholas Piggin

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-07-22  1:18 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-22  1:17 [RFC PATCH 00/11] relaxing allocation constraints on radix and bare metal Nicholas Piggin
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

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).