Messages in this thread | | | Date | Tue, 23 Apr 2013 09:04:46 +0900 | From | Yasuaki Ishimatsu <> | Subject | Re: [Bug fix PATCH v2] numa, cpu hotplug: Change links of CPU and node when changing node number by onlining CPU |
| |
2013/04/23 7:35, Andrew Morton wrote: > On Fri, 19 Apr 2013 14:23:23 +0900 Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> 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
| |