Re: [PATCH v4 4/5] mm: make processing of movable_node arch-specific

From: Reza Arbab
Date: Tue Oct 25 2016 - 20:49:47 EST


On Wed, Oct 26, 2016 at 09:34:18AM +1100, Balbir Singh wrote:
I still believe we need your changes, I was wondering if we've tested
it against normal memory nodes and checked if any memblock
allocations end up there. Michael showed me some memblock
allocations on node 1 of a two node machine with movable_node

The movable_node option is x86-only. Both of those nodes contain normal memory, so allocations on both are allowed.

Longer; if you use "movable_node", x86 can identify these nodes at boot. They call memblock_mark_hotplug() while parsing the SRAT. Then, when the zones are initialized, those markings are used to determine ZONE_MOVABLE.

We have no analog of this SRAT information, so our movable nodes can only be created post boot, by hotplugging and explicitly onlining with online_movable.

Is this true for all of system memory as well or only for nodes
hotplugged later?

As far as I know, power has nothing like the SRAT that tells us, at boot, which memory is hotpluggable. So there is nothing to wire the movable_node option up to.

Of course, any memory you hotplug afterwards is, by definition, hotpluggable. So we can still create movable nodes that way.

--
Reza Arbab