rcu: Use rcu_segcblist_segempty() instead of open coding it
authorFrederic Weisbecker <frederic@kernel.org>
Fri, 8 Sep 2023 20:35:54 +0000 (22:35 +0200)
committerFrederic Weisbecker <frederic@kernel.org>
Wed, 4 Oct 2023 15:33:18 +0000 (17:33 +0200)
This makes the code more readable.

Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Reviewed-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
kernel/rcu/rcu_segcblist.c

index f71fac422c8f6c6105ab2e08ea3facda975e29a3..1693ea22ef1b374c4b0f143142617d66013f049b 100644 (file)
@@ -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;