On Fri, 19 Apr 2013 14:23:23 +0900 Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> wrote:
When booting x86 system contains memoryless node, node numbers of CPUs
on memoryless node were changed to nearest online node number by
init_cpu_to_node() because the node is not online.
...
If we hot add memory to memoryless node and offine/online all CPUs on
the node, node numbers of these CPUs are changed to correct node numbers
by srat_detect_node() because the node become online.
OK, here's a dumb question.
At boot time the CPUs are assigned to the "nearest online node" rather
than to their real memoryless node. The patch arranges for those CPUs
to still be assigned to the "nearest online node" _after_ some memory
is hot-added to their real node. Correct?
Would it not be better to fix this by assigning those CPUs to their real,
memoryless node right at the initial boot? Or is there something in
the kernel which makes cpus-on-a-memoryless-node not work correctly?