Reza Arbab [off-list ref] writes:
On Wed, Oct 26, 2016 at 09:34:18AM +1100, Balbir Singh wrote:
quoted
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.
quoted
quoted
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.
On pseries we have the ibm,dynamic-memory device tree property, which
can contain ranges of memory that are not yet "assigned to the
partition" - ie. can be hotplugged later.
So in general that statement is not true.
But I think you're focused on bare-metal, in which case you might be
right. But that doesn't mean we couldn't have a similar property, if
skiboot/hostboot knew what the ranges of memory were going to be.
cheers