linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
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

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