linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: steve.capper@arm.com (Steve Capper)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/3] NUMA support for ARM.
Date: Wed, 12 Dec 2012 17:40:46 +0000	[thread overview]
Message-ID: <1355334049-10247-1-git-send-email-steve.capper@arm.com> (raw)

Hello,

This RFC adds support for NUMA.

Where possible NUMA should be run with a sparse memory model. If a
sparse memory model is not available; one can use the supplied
discontiguous memory model.

At the moment, the number of nodes has to be specified on the
commandline. One can also, optionally, specify the memory size of
each node. (Otherwise the memory range is split roughly equally
between nodes).

CPUs can be striped across nodes (cpu number modulo the number of
nodes), or assigned to a node based on their
topology_physical_package_id. So for instance on a TC2, the A7
cores can be grouped together in one node and the A15s grouped
together in another node.

I've kept the code as minimal as possible to allow future NUMA
systems to be supported with a minimum of hacking.

These patches have been tested on a Realview PBX (for sparsemem), a
Versatile Express with TC2 tile (running both non-LPAE and LPAE with
discontiguous memory) and an Arndale board (Exynos 5250, running 
sparse memory with LPAE and non-LPAE).

Any comments or feedback would be appreciated greatly.

Thanks,
-- 
Steve

Steve Capper (3):
  ARM: mm: Add discontiguous memory support.
  ARM: mm: Add NUMA support.
  ARM: syscall: wire up sys_migrate_pages.

 arch/arm/Kconfig                   |   41 ++++++
 arch/arm/include/asm/mmzone.h      |   49 +++++++
 arch/arm/include/asm/topology.h    |   15 ++
 arch/arm/include/uapi/asm/unistd.h |    1 +
 arch/arm/kernel/calls.S            |    1 +
 arch/arm/kernel/setup.c            |    6 +
 arch/arm/mm/Makefile               |    2 +
 arch/arm/mm/init.c                 |   62 +++-----
 arch/arm/mm/numa.c                 |  278 ++++++++++++++++++++++++++++++++++++
 9 files changed, 416 insertions(+), 39 deletions(-)
 create mode 100644 arch/arm/include/asm/mmzone.h
 create mode 100644 arch/arm/mm/numa.c

-- 
1.7.9.5

             reply	other threads:[~2012-12-12 17:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-12 17:40 Steve Capper [this message]
2012-12-12 17:40 ` [RFC PATCH 1/3] ARM: mm: Add discontiguous memory support Steve Capper
2012-12-12 18:01   ` Russell King - ARM Linux
2012-12-13 13:13     ` Steve Capper
2012-12-12 17:40 ` [RFC PATCH 2/3] ARM: mm: Add NUMA support Steve Capper
2012-12-12 17:40 ` [RFC PATCH 3/3] ARM: syscall: wire up sys_migrate_pages Steve Capper

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=1355334049-10247-1-git-send-email-steve.capper@arm.com \
    --to=steve.capper@arm.com \
    --cc=linux-arm-kernel@lists.infradead.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).