Message ID | 1484743207-10721-3-git-send-email-douly.fnst@cn.fujitsu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Jan 18, 2017 at 08:40:06PM +0800, Dou Liyang wrote: > Current default way of seting the CPUState::numa_node in the > numa_post_machine_init() and calling it in vl.c:main() would > make the data incorrect in case on cold/hot-plug CPUs. > > Now, we move it to the qom/cpu.c:cpu_common_realizefn(). > So, Here we remove it. > > Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Can be squashed in patch 1/3. > --- > include/sysemu/numa.h | 1 - > numa.c | 15 --------------- > vl.c | 2 -- > 3 files changed, 18 deletions(-) > > diff --git a/include/sysemu/numa.h b/include/sysemu/numa.h > index 8f09dcf..b8015a5 100644 > --- a/include/sysemu/numa.h > +++ b/include/sysemu/numa.h > @@ -25,7 +25,6 @@ typedef struct node_info { > > extern NodeInfo numa_info[MAX_NODES]; > void parse_numa_opts(MachineClass *mc); > -void numa_post_machine_init(void); > void query_numa_node_mem(uint64_t node_mem[]); > extern QemuOptsList qemu_numa_opts; > void numa_set_mem_node_id(ram_addr_t addr, uint64_t size, uint32_t node); > diff --git a/numa.c b/numa.c > index 379bc8a..5f68497 100644 > --- a/numa.c > +++ b/numa.c > @@ -394,21 +394,6 @@ void parse_numa_opts(MachineClass *mc) > } > } > > -void numa_post_machine_init(void) > -{ > - CPUState *cpu; > - int i; > - > - CPU_FOREACH(cpu) { > - for (i = 0; i < nb_numa_nodes; i++) { > - assert(cpu->cpu_index < max_cpus); > - if (test_bit(cpu->cpu_index, numa_info[i].node_cpu)) { > - cpu->numa_node = i; > - } > - } > - } > -} > - > static void allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner, > const char *name, > uint64_t ram_size) > diff --git a/vl.c b/vl.c > index c643d3f..afe40ce 100644 > --- a/vl.c > +++ b/vl.c > @@ -4549,8 +4549,6 @@ int main(int argc, char **argv, char **envp) > > cpu_synchronize_all_post_init(); > > - numa_post_machine_init(); > - > if (qemu_opts_foreach(qemu_find_opts("fw_cfg"), > parse_fw_cfg, fw_cfg_find(), NULL) != 0) { > exit(1); > -- > 2.5.5 > > >
diff --git a/include/sysemu/numa.h b/include/sysemu/numa.h index 8f09dcf..b8015a5 100644 --- a/include/sysemu/numa.h +++ b/include/sysemu/numa.h @@ -25,7 +25,6 @@ typedef struct node_info { extern NodeInfo numa_info[MAX_NODES]; void parse_numa_opts(MachineClass *mc); -void numa_post_machine_init(void); void query_numa_node_mem(uint64_t node_mem[]); extern QemuOptsList qemu_numa_opts; void numa_set_mem_node_id(ram_addr_t addr, uint64_t size, uint32_t node); diff --git a/numa.c b/numa.c index 379bc8a..5f68497 100644 --- a/numa.c +++ b/numa.c @@ -394,21 +394,6 @@ void parse_numa_opts(MachineClass *mc) } } -void numa_post_machine_init(void) -{ - CPUState *cpu; - int i; - - CPU_FOREACH(cpu) { - for (i = 0; i < nb_numa_nodes; i++) { - assert(cpu->cpu_index < max_cpus); - if (test_bit(cpu->cpu_index, numa_info[i].node_cpu)) { - cpu->numa_node = i; - } - } - } -} - static void allocate_system_memory_nonnuma(MemoryRegion *mr, Object *owner, const char *name, uint64_t ram_size) diff --git a/vl.c b/vl.c index c643d3f..afe40ce 100644 --- a/vl.c +++ b/vl.c @@ -4549,8 +4549,6 @@ int main(int argc, char **argv, char **envp) cpu_synchronize_all_post_init(); - numa_post_machine_init(); - if (qemu_opts_foreach(qemu_find_opts("fw_cfg"), parse_fw_cfg, fw_cfg_find(), NULL) != 0) { exit(1);
Current default way of seting the CPUState::numa_node in the numa_post_machine_init() and calling it in vl.c:main() would make the data incorrect in case on cold/hot-plug CPUs. Now, we move it to the qom/cpu.c:cpu_common_realizefn(). So, Here we remove it. Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com> --- include/sysemu/numa.h | 1 - numa.c | 15 --------------- vl.c | 2 -- 3 files changed, 18 deletions(-)