[PATCH 2/9] rcu: Remove superfluous local variable in rcu_init_geometry()
From: Alexander Gordeev
Date: Sat Mar 07 2015 - 12:04:26 EST
Local variable 'n' mimics 'nr_cpu_ids' while the both are
used within one function. There is no reason for 'n' to
exist whatsoever.
Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx>
---
kernel/rcu/tree.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 7588c7f..fb89630 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -3855,7 +3855,6 @@ static void __init rcu_init_geometry(void)
ulong d;
int i;
int j;
- int n = nr_cpu_ids;
int rcu_capacity[MAX_RCU_LVLS + 1];
/*
@@ -3898,7 +3897,7 @@ static void __init rcu_init_geometry(void)
* the rcu_node masks. Complain and fall back to the compile-
* time values if these limits are exceeded.
*/
- if (n > rcu_capacity[MAX_RCU_LVLS])
+ if (nr_cpu_ids > rcu_capacity[MAX_RCU_LVLS])
panic("rcu_init_geometry: rcu_capacity[] is too small");
else if (rcu_fanout_leaf < CONFIG_RCU_FANOUT_LEAF ||
rcu_fanout_leaf > sizeof(unsigned long) * 8) {
@@ -3908,10 +3907,11 @@ static void __init rcu_init_geometry(void)
/* Calculate the number of rcu_nodes at each level of the tree. */
for (i = 1; i <= MAX_RCU_LVLS; i++)
- if (n <= rcu_capacity[i]) {
- for (j = 0; j <= i; j++)
- num_rcu_lvl[j] =
- DIV_ROUND_UP(n, rcu_capacity[i - j]);
+ if (nr_cpu_ids <= rcu_capacity[i]) {
+ for (j = 0; j <= i; j++) {
+ int cap = rcu_capacity[i - j];
+ num_rcu_lvl[j] = DIV_ROUND_UP(nr_cpu_ids, cap);
+ }
rcu_num_lvls = i;
for (j = i + 1; j <= MAX_RCU_LVLS; j++)
num_rcu_lvl[j] = 0;
@@ -3922,7 +3922,7 @@ static void __init rcu_init_geometry(void)
rcu_num_nodes = 0;
for (i = 0; i <= MAX_RCU_LVLS; i++)
rcu_num_nodes += num_rcu_lvl[i];
- rcu_num_nodes -= n;
+ rcu_num_nodes -= nr_cpu_ids;
}
void __init rcu_init(void)
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/