While cpu_to_node is inline function with access to per_cpu variable. However when using repeatedly, it may be cleaner to cache it in a local variable.
Also fix a build error in a some weird config. "error: _numa_cpu_lookup_table_ undeclared" No functional change Cc: linuxppc-dev <linuxppc-dev@lists.ozlabs.org> Cc: Michael Ellerman <micha...@au1.ibm.com> Cc: Nick Piggin <npig...@au1.ibm.com> Cc: Oliver OHalloran <olive...@au1.ibm.com> Cc: Nathan Lynch <nath...@linux.ibm.com> Cc: Michael Neuling <mi...@linux.ibm.com> Cc: Anton Blanchard <an...@au1.ibm.com> Cc: Gautham R Shenoy <e...@linux.vnet.ibm.com> Cc: Vaidyanathan Srinivasan <sva...@linux.ibm.com> Signed-off-by: Srikar Dronamraju <sri...@linux.vnet.ibm.com> --- arch/powerpc/kernel/smp.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index 73199470c265..680c0edcc59d 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c @@ -843,7 +843,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) DBG("smp_prepare_cpus\n"); - /* + /* * setup_cpu may need to be called on the boot cpu. We havent * spun any cpus up but lets be paranoid. */ @@ -854,20 +854,24 @@ void __init smp_prepare_cpus(unsigned int max_cpus) cpu_callin_map[boot_cpuid] = 1; for_each_possible_cpu(cpu) { + int node = cpu_to_node(cpu); + zalloc_cpumask_var_node(&per_cpu(cpu_sibling_map, cpu), - GFP_KERNEL, cpu_to_node(cpu)); + GFP_KERNEL, node); zalloc_cpumask_var_node(&per_cpu(cpu_l2_cache_map, cpu), - GFP_KERNEL, cpu_to_node(cpu)); + GFP_KERNEL, node); zalloc_cpumask_var_node(&per_cpu(cpu_core_map, cpu), - GFP_KERNEL, cpu_to_node(cpu)); + GFP_KERNEL, node); +#ifdef CONFIG_NEED_MULTIPLE_NODES /* * numa_node_id() works after this. */ if (cpu_present(cpu)) { - set_cpu_numa_node(cpu, numa_cpu_lookup_table[cpu]); - set_cpu_numa_mem(cpu, - local_memory_node(numa_cpu_lookup_table[cpu])); + node = numa_cpu_lookup_table[cpu]; + set_cpu_numa_node(cpu, node); + set_cpu_numa_mem(cpu, local_memory_node(node)); } +#endif } /* Init the cpumasks so the boot CPU is related to itself */ -- 2.17.1