diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2016-03-16 19:32:24 -0400 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2016-03-31 16:34:11 -0400 |
commit | aff12cdf86e6fa891d1c30c0fad112d138bd7b10 (patch) | |
tree | ed88787da7026515173518461e152e02dd947f67 /kernel/rcu/tree.c | |
parent | 179e5dcd1e5bdfac1128431d131b31322aedd2bc (diff) |
rcu: Consolidate expedited GP code into exp_funnel_lock()
This commit pulls the grace-period-start counter adjustment and tracing
from synchronize_rcu_expedited() and synchronize_sched_expedited()
into exp_funnel_lock(), thus eliminating some code duplication.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r-- | kernel/rcu/tree.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c index 5b1c8fd89af0..e8fff14e417b 100644 --- a/kernel/rcu/tree.c +++ b/kernel/rcu/tree.c | |||
@@ -3653,6 +3653,8 @@ fastpath: | |||
3653 | mutex_unlock(&rsp->exp_mutex); | 3653 | mutex_unlock(&rsp->exp_mutex); |
3654 | return true; | 3654 | return true; |
3655 | } | 3655 | } |
3656 | rcu_exp_gp_seq_start(rsp); | ||
3657 | trace_rcu_exp_grace_period(rsp->name, s, TPS("start")); | ||
3656 | return false; | 3658 | return false; |
3657 | } | 3659 | } |
3658 | 3660 | ||
@@ -3905,9 +3907,6 @@ void synchronize_sched_expedited(void) | |||
3905 | if (exp_funnel_lock(rsp, s)) | 3907 | if (exp_funnel_lock(rsp, s)) |
3906 | return; /* Someone else did our work for us. */ | 3908 | return; /* Someone else did our work for us. */ |
3907 | 3909 | ||
3908 | rcu_exp_gp_seq_start(rsp); | ||
3909 | trace_rcu_exp_grace_period(rsp->name, s, TPS("start")); | ||
3910 | |||
3911 | /* Initialize the rcu_node tree in preparation for the wait. */ | 3910 | /* Initialize the rcu_node tree in preparation for the wait. */ |
3912 | sync_rcu_exp_select_cpus(rsp, sync_sched_exp_handler); | 3911 | sync_rcu_exp_select_cpus(rsp, sync_sched_exp_handler); |
3913 | 3912 | ||