Re: [Bug fix PATCH v2] numa, cpu hotplug: Change links of CPU andnode when changing node number by onlining CPU

From: Yasuaki Ishimatsu
Date: Mon Apr 22 2013 - 20:05:31 EST


2013/04/23 7:35, Andrew Morton wrote:
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?

Yes. For changing node number of CPUs safely, we should offline CPUs.


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?


I think assigning CPUs to real node is better. But current Linux's node
strongly depend on memory. Thus if we just create cpus-on-a-memoryless-node,
the kernel cannot work correctly.

Thanks,
Yasuaki Ishimatsu

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/