Browse Source

rcu: Move lock_class_key to local scope

Currently, the rcu_node_class[], rcu_fqs_class[], and rcu_exp_class[]
arrays needlessly pollute the global namespace within tree.c.  This
commit therefore converts them to static local variables within
rcu_init_one().

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Paul E. McKenney 10 years ago
parent
commit
3dc5dbe9a1
1 changed files with 3 additions and 4 deletions
  1. 3 4
      kernel/rcu/tree.c

+ 3 - 4
kernel/rcu/tree.c

@@ -68,10 +68,6 @@ MODULE_ALIAS("rcutree");
 
 
 /* Data structures. */
 /* Data structures. */
 
 
-static struct lock_class_key rcu_node_class[RCU_NUM_LVLS];
-static struct lock_class_key rcu_fqs_class[RCU_NUM_LVLS];
-static struct lock_class_key rcu_exp_class[RCU_NUM_LVLS];
-
 /*
 /*
  * In order to export the rcu_state name to the tracing tools, it
  * In order to export the rcu_state name to the tracing tools, it
  * needs to be added in the __tracepoint_string section.
  * needs to be added in the __tracepoint_string section.
@@ -4365,6 +4361,9 @@ static void __init rcu_init_one(struct rcu_state *rsp,
 	static const char * const buf[] = RCU_NODE_NAME_INIT;
 	static const char * const buf[] = RCU_NODE_NAME_INIT;
 	static const char * const fqs[] = RCU_FQS_NAME_INIT;
 	static const char * const fqs[] = RCU_FQS_NAME_INIT;
 	static const char * const exp[] = RCU_EXP_NAME_INIT;
 	static const char * const exp[] = RCU_EXP_NAME_INIT;
+	static struct lock_class_key rcu_node_class[RCU_NUM_LVLS];
+	static struct lock_class_key rcu_fqs_class[RCU_NUM_LVLS];
+	static struct lock_class_key rcu_exp_class[RCU_NUM_LVLS];
 	static u8 fl_mask = 0x1;
 	static u8 fl_mask = 0x1;
 
 
 	int levelcnt[RCU_NUM_LVLS];		/* # nodes in each level. */
 	int levelcnt[RCU_NUM_LVLS];		/* # nodes in each level. */