Skip to content

Commit

Permalink
rcu: Tell the compiler that rcu_state_p is immutable
Browse files Browse the repository at this point in the history
This commit adds a "const" tag to the declarations of rcu_state_p,
which should allow the compiler to generate better code and also to
catch erroneous assignments to this variable.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
  • Loading branch information
Paul E. McKenney committed May 27, 2015
1 parent 727b705 commit b28a7c0
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion kernel/rcu/tree.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ struct rcu_state sname##_state = { \
RCU_STATE_INITIALIZER(rcu_sched, 's', call_rcu_sched);
RCU_STATE_INITIALIZER(rcu_bh, 'b', call_rcu_bh);

static struct rcu_state *rcu_state_p;
static struct rcu_state *const rcu_state_p;
LIST_HEAD(rcu_struct_flavors);

/* Increase (but not decrease) the CONFIG_RCU_FANOUT_LEAF at boot time. */
Expand Down
4 changes: 2 additions & 2 deletions kernel/rcu/tree_plugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ static void __init rcu_bootup_announce_oddness(void)
#ifdef CONFIG_PREEMPT_RCU

RCU_STATE_INITIALIZER(rcu_preempt, 'p', call_rcu);
static struct rcu_state *rcu_state_p = &rcu_preempt_state;
static struct rcu_state *const rcu_state_p = &rcu_preempt_state;

static int rcu_preempted_readers_exp(struct rcu_node *rnp);
static void rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp,
Expand Down Expand Up @@ -834,7 +834,7 @@ void exit_rcu(void)

#else /* #ifdef CONFIG_PREEMPT_RCU */

static struct rcu_state *rcu_state_p = &rcu_sched_state;
static struct rcu_state *const rcu_state_p = &rcu_sched_state;

/*
* Tell them what RCU they are running.
Expand Down

0 comments on commit b28a7c0

Please sign in to comment.