Michal Suchanek 75f30f
From 966730a6e8524c1b5fe64358e5884605cab6ccb3 Mon Sep 17 00:00:00 2001
Michal Suchanek 75f30f
From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Michal Suchanek 75f30f
Date: Mon, 19 Oct 2020 09:57:15 +0530
Michal Suchanek 75f30f
Subject: [PATCH] powerpc/smp: Remove unnecessary variable
Michal Suchanek 75f30f
Michal Suchanek 75f30f
References: jsc#SLE-13615 bsc#1180100 ltc#190257
Michal Suchanek 75f30f
Patch-mainline: v5.10-rc1
Michal Suchanek 75f30f
Git-commit: 966730a6e8524c1b5fe64358e5884605cab6ccb3
Michal Suchanek 75f30f
Michal Suchanek 75f30f
Commit 3ab33d6dc3e9 ("powerpc/smp: Optimize update_mask_by_l2")
Michal Suchanek 75f30f
introduced submask_fn in update_mask_by_l2 to track the right submask.
Michal Suchanek 75f30f
However commit f6606cfdfbcd ("powerpc/smp: Dont assume l2-cache to be
Michal Suchanek 75f30f
superset of sibling") introduced sibling_mask in update_mask_by_l2 to
Michal Suchanek 75f30f
track the same submask. Remove sibling_mask in favour of submask_fn.
Michal Suchanek 75f30f
Michal Suchanek 75f30f
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Michal Suchanek 75f30f
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Michal Suchanek 75f30f
Link: https://lore.kernel.org/r/20201019042716.106234-2-srikar@linux.vnet.ibm.com
Michal Suchanek 75f30f
Acked-by: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek 75f30f
---
Michal Suchanek 75f30f
 arch/powerpc/kernel/smp.c | 13 ++++---------
Michal Suchanek 75f30f
 1 file changed, 4 insertions(+), 9 deletions(-)
Michal Suchanek 75f30f
Michal Suchanek 75f30f
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
Michal Suchanek 75f30f
index 0dc1b8591cc8..098d9e26ceb3 100644
Michal Suchanek 75f30f
--- a/arch/powerpc/kernel/smp.c
Michal Suchanek 75f30f
+++ b/arch/powerpc/kernel/smp.c
Michal Suchanek 75f30f
@@ -1247,18 +1247,16 @@ static bool update_mask_by_l2(int cpu)
Michal Suchanek 75f30f
 	cpumask_var_t mask;
Michal Suchanek 75f30f
 	int i;
Michal Suchanek 75f30f
 
Michal Suchanek 75f30f
+	if (has_big_cores)
Michal Suchanek 75f30f
+		submask_fn = cpu_smallcore_mask;
Michal Suchanek 75f30f
+
Michal Suchanek 75f30f
 	l2_cache = cpu_to_l2cache(cpu);
Michal Suchanek 75f30f
 	if (!l2_cache) {
Michal Suchanek 75f30f
-		struct cpumask *(*sibling_mask)(int) = cpu_sibling_mask;
Michal Suchanek 75f30f
-
Michal Suchanek 75f30f
 		/*
Michal Suchanek 75f30f
 		 * If no l2cache for this CPU, assume all siblings to share
Michal Suchanek 75f30f
 		 * cache with this CPU.
Michal Suchanek 75f30f
 		 */
Michal Suchanek 75f30f
-		if (has_big_cores)
Michal Suchanek 75f30f
-			sibling_mask = cpu_smallcore_mask;
Michal Suchanek 75f30f
-
Michal Suchanek 75f30f
-		for_each_cpu(i, sibling_mask(cpu))
Michal Suchanek 75f30f
+		for_each_cpu(i, submask_fn(cpu))
Michal Suchanek 75f30f
 			set_cpus_related(cpu, i, cpu_l2_cache_mask);
Michal Suchanek 75f30f
 
Michal Suchanek 75f30f
 		return false;
Michal Suchanek 75f30f
@@ -1267,9 +1265,6 @@ static bool update_mask_by_l2(int cpu)
Michal Suchanek 75f30f
 	alloc_cpumask_var_node(&mask, GFP_KERNEL, cpu_to_node(cpu));
Michal Suchanek 75f30f
 	cpumask_and(mask, cpu_online_mask, cpu_cpu_mask(cpu));
Michal Suchanek 75f30f
 
Michal Suchanek 75f30f
-	if (has_big_cores)
Michal Suchanek 75f30f
-		submask_fn = cpu_smallcore_mask;
Michal Suchanek 75f30f
-
Michal Suchanek 75f30f
 	/* Update l2-cache mask with all the CPUs that are part of submask */
Michal Suchanek 75f30f
 	or_cpumasks_related(cpu, cpu, submask_fn, cpu_l2_cache_mask);
Michal Suchanek 75f30f
 
Michal Suchanek 75f30f
-- 
Michal Suchanek 75f30f
2.26.2
Michal Suchanek 75f30f