On Wed, Jan 18, 2017 at 12:02:35PM +0800, Dou Liyang wrote: > Hi, Eduardo > > At 01/18/2017 04:09 AM, Eduardo Habkost wrote: > > On Tue, Jan 17, 2017 at 10:42:31PM +0800, Dou Liyang wrote: > > > In the numa_post_machine_init(), we use CPU_FOREACH macro to set all > > > CPUs' namu_node. So, we should make sure that we call it after Qemu > > > has already initialied all the CPUs. > > > > > > As we all know, the CPUs can be created by "-smp"(pc_new_cpu) or > > > "-device"(qdev_device_add) command. But, before the device init, > > > Qemu execute the numa_post_machine_init earlier. It makes the mapping > > > of NUMA nodes and CPUs incorrect. > > > > > > The patch move the numa_post_machine_init func in the appropriate > > > location. > > > > > > Signed-off-by: Dou Liyang <douly.f...@cn.fujitsu.com> > > > > I would like to move cpu_index initialization to > > qom/cpu.c:cpu_common_realizefn(), and remove > > numa_post_machine_init() completely. > > Thanks, it is a good idea. I will try it later. > > But, I hope to know that: > > If you may want to say the cpu->**numa_node** initialization? > Because the **cpu_index** initialization is in pc_cpu_pre_plug() > currently, like that: cs->cpu_index = idx;
Oops, I meant the numa_node initialization. :) -- Eduardo