|
@@ -64,7 +64,8 @@
|
|
|
static struct lock_class_key rcu_node_class[RCU_NUM_LVLS];
|
|
|
static struct lock_class_key rcu_fqs_class[RCU_NUM_LVLS];
|
|
|
|
|
|
-#define RCU_STATE_INITIALIZER(sname, sabbr, cr) { \
|
|
|
+#define RCU_STATE_INITIALIZER(sname, sabbr, cr) \
|
|
|
+struct rcu_state sname##_state = { \
|
|
|
.level = { &sname##_state.node[0] }, \
|
|
|
.call = cr, \
|
|
|
.fqs_state = RCU_GP_IDLE, \
|
|
@@ -77,14 +78,11 @@ static struct lock_class_key rcu_fqs_class[RCU_NUM_LVLS];
|
|
|
.onoff_mutex = __MUTEX_INITIALIZER(sname##_state.onoff_mutex), \
|
|
|
.name = #sname, \
|
|
|
.abbr = sabbr, \
|
|
|
-}
|
|
|
-
|
|
|
-struct rcu_state rcu_sched_state =
|
|
|
- RCU_STATE_INITIALIZER(rcu_sched, 's', call_rcu_sched);
|
|
|
-DEFINE_PER_CPU(struct rcu_data, rcu_sched_data);
|
|
|
+}; \
|
|
|
+DEFINE_PER_CPU(struct rcu_data, sname##_data)
|
|
|
|
|
|
-struct rcu_state rcu_bh_state = RCU_STATE_INITIALIZER(rcu_bh, 'b', call_rcu_bh);
|
|
|
-DEFINE_PER_CPU(struct rcu_data, rcu_bh_data);
|
|
|
+RCU_STATE_INITIALIZER(rcu_sched, 's', call_rcu_sched);
|
|
|
+RCU_STATE_INITIALIZER(rcu_bh, 'b', call_rcu_bh);
|
|
|
|
|
|
static struct rcu_state *rcu_state;
|
|
|
LIST_HEAD(rcu_struct_flavors);
|