ppc64 memory hotplug config options

Mike Kravetz kravetz at us.ibm.com
Wed Feb 2 09:44:33 EST 2005

I'm working on memory hotplug for ppc64 and wanted to get some
opinions/information on config option dependencies.  In the current
hotplug memory development patch set, there are four interrelated
config options.

FLATMEM		- Indicates a 'flat' contiguous memory model.
SPARSEMEM	- Indicates a 'sparse' memory model that may contain holes.
HOTPLUG_MEMORY	- Allow hotplug memory operations.
NUMA		- Add support for NUMA architecture.

Some dependencies are obvious.  If you want HOTPLUG_MEMORY, you must
have SPARSEMEM (as removing memory will leave holes).  However, I was
curious about the relationship between NUMA and SPARSEMEM/FLATMEM on
ppc64.  In the current mainline kernels, NUMA depends on DISCONTIGMEM.
However, I believe this is mainly due to a bunch of code for node
specific memory access being part of DISCONTIGMEM.  It seems that
DISCONTIGMEM and NUMA are more intertwined than they need to be.  Is
it possible to have a 'flat' (no holes) memory layout on a ppc64 box
with NUMA characteristics?  I would think that the firmware/hypervisor
could present memory to the OS that appears to have no holes even
though different portions of memory have different access characteristics.


More information about the Linuxppc64-dev mailing list