Message ID | 20240129232349.3170819-2-boqun.feng@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 04bd5331c88dd3eb0246e5f059e0ea86cf5b85eb |
Headers | show |
Series | RCU exp updates for v6.9 | expand |
Le Mon, Jan 29, 2024 at 03:23:39PM -0800, Boqun Feng a écrit : > From: Frederic Weisbecker <frederic@kernel.org> > > When an expedited grace period is ending, care must be taken so that all > the quiescent states propagated up to the root are correctly ordered > against the wake up of the main expedited grace period workqueue. > > This ordering is already carried through the root rnp locking augmented > by an smp_mb__after_unlock_lock() barrier. > > Therefore the explicit smp_mb() placed before the wake up is not needed > and can be removed. > > Signed-off-by: Frederic Weisbecker <frederic@kernel.org> > Signed-off-by: Paul E. McKenney <paulmck@kernel.org> [Offlist] For further posting, don't forget to add your own SoB while posting patches :-) Thanks!
Le Tue, Jan 30, 2024 at 04:47:16PM +0100, Frederic Weisbecker a écrit : > Le Mon, Jan 29, 2024 at 03:23:39PM -0800, Boqun Feng a écrit : > > From: Frederic Weisbecker <frederic@kernel.org> > > > > When an expedited grace period is ending, care must be taken so that all > > the quiescent states propagated up to the root are correctly ordered > > against the wake up of the main expedited grace period workqueue. > > > > This ordering is already carried through the root rnp locking augmented > > by an smp_mb__after_unlock_lock() barrier. > > > > Therefore the explicit smp_mb() placed before the wake up is not needed > > and can be removed. > > > > Signed-off-by: Frederic Weisbecker <frederic@kernel.org> > > Signed-off-by: Paul E. McKenney <paulmck@kernel.org> > > [Offlist] And yes that was not offlist, my fingers betrayed me! > > For further posting, don't forget to add your own SoB while posting patches :-) > > Thanks! >
On Tue, Jan 30, 2024 at 04:48:41PM +0100, Frederic Weisbecker wrote: > Le Tue, Jan 30, 2024 at 04:47:16PM +0100, Frederic Weisbecker a écrit : > > Le Mon, Jan 29, 2024 at 03:23:39PM -0800, Boqun Feng a écrit : > > > From: Frederic Weisbecker <frederic@kernel.org> > > > > > > When an expedited grace period is ending, care must be taken so that all > > > the quiescent states propagated up to the root are correctly ordered > > > against the wake up of the main expedited grace period workqueue. > > > > > > This ordering is already carried through the root rnp locking augmented > > > by an smp_mb__after_unlock_lock() barrier. > > > > > > Therefore the explicit smp_mb() placed before the wake up is not needed > > > and can be removed. > > > > > > Signed-off-by: Frederic Weisbecker <frederic@kernel.org> > > > Signed-off-by: Paul E. McKenney <paulmck@kernel.org> > > > > [Offlist] > > And yes that was not offlist, my fingers betrayed me! > Thanks for the reminder anyway ;-) Regards, Boqun > > > > For further posting, don't forget to add your own SoB while posting patches :-) > > > > Thanks! > >
diff --git a/kernel/rcu/tree_exp.h b/kernel/rcu/tree_exp.h index 2ac440bc7e10..014ddf672165 100644 --- a/kernel/rcu/tree_exp.h +++ b/kernel/rcu/tree_exp.h @@ -198,10 +198,9 @@ static void __rcu_report_exp_rnp(struct rcu_node *rnp, } if (rnp->parent == NULL) { raw_spin_unlock_irqrestore_rcu_node(rnp, flags); - if (wake) { - smp_mb(); /* EGP done before wake_up(). */ + if (wake) swake_up_one_online(&rcu_state.expedited_wq); - } + break; } mask = rnp->grpmask;