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.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.h')
-rw-r--r-- | kernel/rcutree.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/rcutree.h b/kernel/rcutree.h index 780a0195d35a..049896a835d9 100644 --- a/kernel/rcutree.h +++ b/kernel/rcutree.h | |||
@@ -364,6 +364,8 @@ struct rcu_state { | |||
364 | u32 levelcnt[MAX_RCU_LVLS + 1]; /* # nodes in each level. */ | 364 | u32 levelcnt[MAX_RCU_LVLS + 1]; /* # nodes in each level. */ |
365 | u8 levelspread[RCU_NUM_LVLS]; /* kids/node in each level. */ | 365 | u8 levelspread[RCU_NUM_LVLS]; /* kids/node in each level. */ |
366 | struct rcu_data __percpu *rda; /* pointer of percu rcu_data. */ | 366 | struct rcu_data __percpu *rda; /* pointer of percu rcu_data. */ |
367 | void (*call)(struct rcu_head *head, /* call_rcu() flavor. */ | ||
368 | void (*func)(struct rcu_head *head)); | ||
367 | 369 | ||
368 | /* The following fields are guarded by the root rcu_node's lock. */ | 370 | /* The following fields are guarded by the root rcu_node's lock. */ |
369 | 371 | ||