diff options
Diffstat (limited to 'arch/powerpc/kernel/smp.c')
| -rw-r--r-- | arch/powerpc/kernel/smp.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index 1007fb802e6b..a0738af4aba6 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c @@ -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);  |