On Wed, May 31, 2023 at 6:17 AM Frederic Weisbecker <frederic@xxxxxxxxxx> wrote: > > This makes the code more readable. > > Signed-off-by: Frederic Weisbecker <frederic@xxxxxxxxxx> > --- > 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)) Hopefully the compiler optimizer will be smart enough to remove this from the inlined code ;-): if (seg == RCU_DONE_TAIL) return &rsclp->head == rsclp->tails[RCU_DONE_TAIL]; Otherwise it appears to be no functional change for this and the below change, and straightforward so for this patch: Reviewed-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx> thanks, - Joel > 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.40.1 >