Messages in this thread Patch in this message | | | From | Srikar Dronamraju <> | Subject | [PATCH v2 01/10] powerpc/smp: Cache node for reuse | Date | Tue, 21 Jul 2020 17:08:05 +0530 |
| |
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: LKML <linux-kernel@vger.kernel.org> Cc: Michael Ellerman <michaele@au1.ibm.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Valentin Schneider <valentin.schneider@arm.com> Cc: Nick Piggin <npiggin@au1.ibm.com> Cc: Oliver OHalloran <oliveroh@au1.ibm.com> Cc: Nathan Lynch <nathanl@linux.ibm.com> Cc: Michael Neuling <mikey@linux.ibm.com> Cc: Anton Blanchard <anton@au1.ibm.com> Cc: Gautham R Shenoy <ego@linux.vnet.ibm.com> Cc: Vaidyanathan Srinivasan <svaidy@linux.ibm.com> Cc: Jordan Niethe <jniethe5@gmail.com> Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com> Signed-off-by: Srikar Dronamraju <srikar@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
| |