|
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 |
|