Message ID | 20230908203603.5865-2-frederic@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 7df2a2a024145d0dcc1e51dc378c527000b35b07 |
Headers | show |
Series | rcu cleanups | expand |
On Fri, Sep 08, 2023 at 10:35:54PM +0200, Frederic Weisbecker wrote: > This makes the code more readable. > > Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> > Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org> > Signed-off-by: Frederic Weisbecker <frederic@kernel.org> Reviewed-by: Paul E. McKenney <paulmck@kernel.org> > --- > kernel/rcu/rcu_segcblist.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/kernel/rcu/rcu_segcblist.c b/kernel/rcu/rcu_segcblist.c > index f71fac422c8f..1693ea22ef1b 100644 > --- a/kernel/rcu/rcu_segcblist.c > +++ b/kernel/rcu/rcu_segcblist.c > @@ -368,7 +368,7 @@ bool rcu_segcblist_entrain(struct rcu_segcblist *rsclp, > smp_mb(); /* Ensure counts are updated before callback is entrained. */ > rhp->next = NULL; > for (i = RCU_NEXT_TAIL; i > RCU_DONE_TAIL; i--) > - if (rsclp->tails[i] != rsclp->tails[i - 1]) > + if (!rcu_segcblist_segempty(rsclp, i)) > break; > rcu_segcblist_inc_seglen(rsclp, i); > WRITE_ONCE(*rsclp->tails[i], rhp); > @@ -551,7 +551,7 @@ bool rcu_segcblist_accelerate(struct rcu_segcblist *rsclp, unsigned long seq) > * as their ->gp_seq[] grace-period completion sequence number. > */ > for (i = RCU_NEXT_READY_TAIL; i > RCU_DONE_TAIL; i--) > - if (rsclp->tails[i] != rsclp->tails[i - 1] && > + if (!rcu_segcblist_segempty(rsclp, i) && > ULONG_CMP_LT(rsclp->gp_seq[i], seq)) > break; > > -- > 2.41.0 >
diff --git a/kernel/rcu/rcu_segcblist.c b/kernel/rcu/rcu_segcblist.c index f71fac422c8f..1693ea22ef1b 100644 --- a/kernel/rcu/rcu_segcblist.c +++ b/kernel/rcu/rcu_segcblist.c @@ -368,7 +368,7 @@ bool rcu_segcblist_entrain(struct rcu_segcblist *rsclp, smp_mb(); /* Ensure counts are updated before callback is entrained. */ rhp->next = NULL; for (i = RCU_NEXT_TAIL; i > RCU_DONE_TAIL; i--) - if (rsclp->tails[i] != rsclp->tails[i - 1]) + if (!rcu_segcblist_segempty(rsclp, i)) break; rcu_segcblist_inc_seglen(rsclp, i); WRITE_ONCE(*rsclp->tails[i], rhp); @@ -551,7 +551,7 @@ bool rcu_segcblist_accelerate(struct rcu_segcblist *rsclp, unsigned long seq) * as their ->gp_seq[] grace-period completion sequence number. */ for (i = RCU_NEXT_READY_TAIL; i > RCU_DONE_TAIL; i--) - if (rsclp->tails[i] != rsclp->tails[i - 1] && + if (!rcu_segcblist_segempty(rsclp, i) && ULONG_CMP_LT(rsclp->gp_seq[i], seq)) break;