diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-04-20 17:27:43 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-05-27 15:59:05 -0400 |
commit | 05c5df31afd1092ca6322094d22aff6351fa67fe (patch) | |
tree | dffce93d8da097a4701bfdafe4c23323371cd899 /kernel/rcu/tree.c | |
parent | 8739c5cb0fb145aeed8c56ddb5ba79381c74cb97 (diff) |
rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT
This commit introduces an RCU_FANOUT C-preprocessor macro so that RCU will
build even when CONFIG_RCU_FANOUT is undefined. The RCU_FANOUT macro is
set to the value of CONFIG_RCU_FANOUT when defined, otherwise it is set
to 32 for 32-bit systems and 64 for 64-bit systems. This commit then
makes CONFIG_RCU_FANOUT depend on CONFIG_RCU_EXPERT, so that Kconfig
users won't be asked about CONFIG_RCU_FANOUT unless they want to be.
Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Pranith Kumar <bobby.prani@gmail.com>
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r-- | kernel/rcu/tree.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 1bc14c670641..ba3f8d59d948 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c | |||
@@ -3971,7 +3971,7 @@ static void __init rcu_init_levelspread(struct rcu_state *rsp) | |||
3971 | if (rcu_fanout_exact) { | 3971 | if (rcu_fanout_exact) { |
3972 | rsp->levelspread[rcu_num_lvls - 1] = rcu_fanout_leaf; | 3972 | rsp->levelspread[rcu_num_lvls - 1] = rcu_fanout_leaf; |
3973 | for (i = rcu_num_lvls - 2; i >= 0; i--) | 3973 | for (i = rcu_num_lvls - 2; i >= 0; i--) |
3974 | rsp->levelspread[i] = CONFIG_RCU_FANOUT; | 3974 | rsp->levelspread[i] = RCU_FANOUT; |
3975 | } else { | 3975 | } else { |
3976 | int ccur; | 3976 | int ccur; |
3977 | int cprv; | 3977 | int cprv; |
@@ -4111,7 +4111,7 @@ static void __init rcu_init_geometry(void) | |||
4111 | rcu_capacity[0] = 1; | 4111 | rcu_capacity[0] = 1; |
4112 | rcu_capacity[1] = rcu_fanout_leaf; | 4112 | rcu_capacity[1] = rcu_fanout_leaf; |
4113 | for (i = 2; i <= MAX_RCU_LVLS; i++) | 4113 | for (i = 2; i <= MAX_RCU_LVLS; i++) |
4114 | rcu_capacity[i] = rcu_capacity[i - 1] * CONFIG_RCU_FANOUT; | 4114 | rcu_capacity[i] = rcu_capacity[i - 1] * RCU_FANOUT; |
4115 | 4115 | ||
4116 | /* | 4116 | /* |
4117 | * The boot-time rcu_fanout_leaf parameter is only permitted | 4117 | * The boot-time rcu_fanout_leaf parameter is only permitted |