diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2012-06-12 12:40:38 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2012-07-02 15:33:23 -0400 |
commit | 1bca8cf1a2c3c6683b12ad28a3e826ca7a834978 (patch) | |
tree | db7b56bd65c8ac7af376599febb44324698b53d4 /kernel/rcutree.c | |
parent | d7e187c8e9f30543f9cadfed094896ff414acb8f (diff) |
rcu: Remove unneeded __rcu_process_callbacks() argument
With the advent of __this_cpu_ptr(), it is no longer necessary to pass
both the rcu_state and rcu_data structures into __rcu_process_callbacks().
This commit therefore computes the rcu_data pointer from the rcu_state
pointer within __rcu_process_callbacks() so that callers can pass in
only the pointer to the rcu_state structure. This paves the way for
linking the rcu_state structures together and iterating over them.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'kernel/rcutree.c')
-rw-r--r-- | kernel/rcutree.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/rcutree.c b/kernel/rcutree.c index dda43d826504..5376a156be8a 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c | |||
@@ -1788,9 +1788,10 @@ unlock_fqs_ret: | |||
1788 | * whom the rdp belongs. | 1788 | * whom the rdp belongs. |
1789 | */ | 1789 | */ |
1790 | static void | 1790 | static void |
1791 | __rcu_process_callbacks(struct rcu_state *rsp, struct rcu_data *rdp) | 1791 | __rcu_process_callbacks(struct rcu_state *rsp) |
1792 | { | 1792 | { |
1793 | unsigned long flags; | 1793 | unsigned long flags; |
1794 | struct rcu_data *rdp = __this_cpu_ptr(rsp->rda); | ||
1794 | 1795 | ||
1795 | WARN_ON_ONCE(rdp->beenonline == 0); | 1796 | WARN_ON_ONCE(rdp->beenonline == 0); |
1796 | 1797 | ||
@@ -1827,9 +1828,8 @@ __rcu_process_callbacks(struct rcu_state *rsp, struct rcu_data *rdp) | |||
1827 | static void rcu_process_callbacks(struct softirq_action *unused) | 1828 | static void rcu_process_callbacks(struct softirq_action *unused) |
1828 | { | 1829 | { |
1829 | trace_rcu_utilization("Start RCU core"); | 1830 | trace_rcu_utilization("Start RCU core"); |
1830 | __rcu_process_callbacks(&rcu_sched_state, | 1831 | __rcu_process_callbacks(&rcu_sched_state); |
1831 | &__get_cpu_var(rcu_sched_data)); | 1832 | __rcu_process_callbacks(&rcu_bh_state); |
1832 | __rcu_process_callbacks(&rcu_bh_state, &__get_cpu_var(rcu_bh_data)); | ||
1833 | rcu_preempt_process_callbacks(); | 1833 | rcu_preempt_process_callbacks(); |
1834 | trace_rcu_utilization("End RCU core"); | 1834 | trace_rcu_utilization("End RCU core"); |
1835 | } | 1835 | } |