|
@@ -376,6 +376,11 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
|
|
|
GFP_KERNEL, cpu_to_node(cpu));
|
|
|
zalloc_cpumask_var_node(&per_cpu(cpu_core_map, cpu),
|
|
|
GFP_KERNEL, cpu_to_node(cpu));
|
|
|
+ /*
|
|
|
+ * numa_node_id() works after this.
|
|
|
+ */
|
|
|
+ set_cpu_numa_node(cpu, numa_cpu_lookup_table[cpu]);
|
|
|
+ set_cpu_numa_mem(cpu, local_memory_node(numa_cpu_lookup_table[cpu]));
|
|
|
}
|
|
|
|
|
|
cpumask_set_cpu(boot_cpuid, cpu_sibling_mask(boot_cpuid));
|
|
@@ -723,12 +728,6 @@ void start_secondary(void *unused)
|
|
|
}
|
|
|
traverse_core_siblings(cpu, true);
|
|
|
|
|
|
- /*
|
|
|
- * numa_node_id() works after this.
|
|
|
- */
|
|
|
- set_numa_node(numa_cpu_lookup_table[cpu]);
|
|
|
- set_numa_mem(local_memory_node(numa_cpu_lookup_table[cpu]));
|
|
|
-
|
|
|
smp_wmb();
|
|
|
notify_cpu_starting(cpu);
|
|
|
set_cpu_online(cpu, true);
|