diff options
author | Paul E. McKenney <paul.mckenney@linaro.org> | 2012-05-29 02:26:01 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2012-07-02 15:33:21 -0400 |
commit | 037b64ed0bf2405a1a01542164d3418564b44fff (patch) | |
tree | 59aa7e486e1673564f2a5687992130dffa71ca1b /kernel/rcutree_plugin.h | |
parent | 6c90cc7bf077f28144013e949ee0c122012d194a (diff) |
rcu: Place pointer to call_rcu() in rcu_data structure
This is a preparatory commit for increasing rcu_barrier()'s concurrency.
It adds a pointer in the rcu_data structure to the corresponding call_rcu()
function. This allows a pointer to the rcu_data structure to imply the
function pointer, which allows _rcu_barrier() state to be placed in the
rcu_state structure.
Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'kernel/rcutree_plugin.h')
-rw-r--r-- | kernel/rcutree_plugin.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h index ef2b5231afa4..9cb3a68819fa 100644 --- a/kernel/rcutree_plugin.h +++ b/kernel/rcutree_plugin.h | |||
@@ -78,7 +78,8 @@ static void __init rcu_bootup_announce_oddness(void) | |||
78 | 78 | ||
79 | #ifdef CONFIG_TREE_PREEMPT_RCU | 79 | #ifdef CONFIG_TREE_PREEMPT_RCU |
80 | 80 | ||
81 | struct rcu_state rcu_preempt_state = RCU_STATE_INITIALIZER(rcu_preempt); | 81 | struct rcu_state rcu_preempt_state = |
82 | RCU_STATE_INITIALIZER(rcu_preempt, call_rcu); | ||
82 | DEFINE_PER_CPU(struct rcu_data, rcu_preempt_data); | 83 | DEFINE_PER_CPU(struct rcu_data, rcu_preempt_data); |
83 | static struct rcu_state *rcu_state = &rcu_preempt_state; | 84 | static struct rcu_state *rcu_state = &rcu_preempt_state; |
84 | 85 | ||
@@ -944,7 +945,7 @@ static int rcu_preempt_cpu_has_callbacks(int cpu) | |||
944 | */ | 945 | */ |
945 | void rcu_barrier(void) | 946 | void rcu_barrier(void) |
946 | { | 947 | { |
947 | _rcu_barrier(&rcu_preempt_state, call_rcu); | 948 | _rcu_barrier(&rcu_preempt_state); |
948 | } | 949 | } |
949 | EXPORT_SYMBOL_GPL(rcu_barrier); | 950 | EXPORT_SYMBOL_GPL(rcu_barrier); |
950 | 951 | ||