]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rcutorture: Drop redundant "insoftirq" parameters
authorPaul E. McKenney <paulmck@kernel.org>
Thu, 15 May 2025 04:09:05 +0000 (21:09 -0700)
committerNeeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
Wed, 25 Jun 2025 03:09:01 +0000 (08:39 +0530)
Given that the rcutorture_one_extend_check() function now uses
in_serving_softirq() and in_hardirq(), it is no longer necessary to pass
insoftirq flags down the function-call stack.  This commit therefore
removes those flags, and, while in the area, does a bit of whitespace
cleanup.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Tested-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
kernel/rcu/rcutorture.c

index 3f644b1f582318241f5f749da9e4dbd8e82681d0..470b5a117602b986cc3ae3f765a71a5f8993297f 100644 (file)
@@ -1975,7 +1975,7 @@ static void rcu_torture_reader_do_mbchk(long myid, struct rcu_torture *rtp,
 
 // Verify the specified RCUTORTURE_RDR* state.
 #define ROEC_ARGS "%s %s: Current %#x  To add %#x  To remove %#x  preempt_count() %#x\n", __func__, s, curstate, new, old, preempt_count()
-static void rcutorture_one_extend_check(char *s, int curstate, int new, int old, bool insoftirq)
+static void rcutorture_one_extend_check(char *s, int curstate, int new, int old)
 {
        int mask;
 
@@ -2038,8 +2038,7 @@ static void rcutorture_one_extend_check(char *s, int curstate, int new, int old,
  * beginning or end of the critical section and if there was actually a
  * change, do a ->read_delay().
  */
-static void rcutorture_one_extend(int *readstate, int newstate, bool insoftirq,
-                                 struct torture_random_state *trsp,
+static void rcutorture_one_extend(int *readstate, int newstate, struct torture_random_state *trsp,
                                  struct rt_read_seg *rtrsp)
 {
        bool first;
@@ -2054,7 +2053,7 @@ static void rcutorture_one_extend(int *readstate, int newstate, bool insoftirq,
        first = idxold1 == 0;
        WARN_ON_ONCE(idxold2 < 0);
        WARN_ON_ONCE(idxold2 & ~(RCUTORTURE_RDR_ALLBITS | RCUTORTURE_RDR_UPDOWN));
-       rcutorture_one_extend_check("before change", idxold1, statesnew, statesold, insoftirq);
+       rcutorture_one_extend_check("before change", idxold1, statesnew, statesold);
        rtrsp->rt_readstate = newstate;
 
        /* First, put new protection in place to avoid critical-section gap. */
@@ -2074,8 +2073,7 @@ static void rcutorture_one_extend(int *readstate, int newstate, bool insoftirq,
                idxnew2 = (cur_ops->readlock() << RCUTORTURE_RDR_SHIFT_2) & RCUTORTURE_RDR_MASK_2;
 
        // Complain unless both the old and the new protection is in place.
-       rcutorture_one_extend_check("during change",
-                                   idxold1 | statesnew, statesnew, statesold, insoftirq);
+       rcutorture_one_extend_check("during change", idxold1 | statesnew, statesnew, statesold);
 
        // Sample CPU under both sets of protections to reduce confusion.
        if (IS_ENABLED(CONFIG_RCU_TORTURE_TEST_LOG_CPU)) {
@@ -2150,7 +2148,7 @@ static void rcutorture_one_extend(int *readstate, int newstate, bool insoftirq,
        WARN_ON_ONCE(*readstate < 0);
        if (WARN_ON_ONCE(*readstate & ~RCUTORTURE_RDR_ALLBITS))
                pr_info("Unexpected readstate value of %#x\n", *readstate);
-       rcutorture_one_extend_check("after change", *readstate, statesnew, statesold, insoftirq);
+       rcutorture_one_extend_check("after change", *readstate, statesnew, statesold);
 }
 
 /* Return the biggest extendables mask given current RCU and boot parameters. */
@@ -2217,8 +2215,7 @@ rcutorture_extend_mask(int oldmask, struct torture_random_state *trsp)
  * critical section.
  */
 static struct rt_read_seg *
-rcutorture_loop_extend(int *readstate, bool insoftirq, struct torture_random_state *trsp,
-                      struct rt_read_seg *rtrsp)
+rcutorture_loop_extend(int *readstate, struct torture_random_state *trsp, struct rt_read_seg *rtrsp)
 {
        int i;
        int j;
@@ -2233,7 +2230,7 @@ rcutorture_loop_extend(int *readstate, bool insoftirq, struct torture_random_sta
        for (j = 0; j < i; j++) {
                mask = rcutorture_extend_mask(*readstate, trsp);
                WARN_ON_ONCE(mask & RCUTORTURE_RDR_UPDOWN);
-               rcutorture_one_extend(readstate, mask, insoftirq, trsp, &rtrsp[j]);
+               rcutorture_one_extend(readstate, mask, trsp, &rtrsp[j]);
        }
        return &rtrsp[j];
 }
@@ -2279,7 +2276,7 @@ static bool rcu_torture_one_read_start(struct rcu_torture_one_read_state *rtorsp
                                          (rtorsp->readstate & RCUTORTURE_RDR_UPDOWN));
        if (rtorsp->p == NULL) {
                /* Wait for rcu_torture_writer to get underway */
-               rcutorture_one_extend(&rtorsp->readstate, 0, myid < 0, trsp, rtorsp->rtrsp);
+               rcutorture_one_extend(&rtorsp->readstate, 0, trsp, rtorsp->rtrsp);
                return false;
        }
        if (rtorsp->p->rtort_mbtest == 0)
@@ -2293,7 +2290,7 @@ static bool rcu_torture_one_read_start(struct rcu_torture_one_read_state *rtorsp
  * critical sections and check for errors.
  */
 static void rcu_torture_one_read_end(struct rcu_torture_one_read_state *rtorsp,
-                                    struct torture_random_state *trsp, long myid)
+                                    struct torture_random_state *trsp)
 {
        int i;
        unsigned long completed;
@@ -2340,7 +2337,7 @@ static void rcu_torture_one_read_end(struct rcu_torture_one_read_state *rtorsp,
        }
        if (cur_ops->reader_blocked)
                preempted = cur_ops->reader_blocked();
-       rcutorture_one_extend(&rtorsp->readstate, 0, myid < 0, trsp, rtorsp->rtrsp);
+       rcutorture_one_extend(&rtorsp->readstate, 0, trsp, rtorsp->rtrsp);
        WARN_ON_ONCE(rtorsp->readstate);
        // This next splat is expected behavior if leakpointer, especially
        // for CONFIG_RCU_STRICT_GRACE_PERIOD=y kernels.
@@ -2370,13 +2367,13 @@ static bool rcu_torture_one_read(struct torture_random_state *trsp, long myid)
        init_rcu_torture_one_read_state(&rtors, trsp);
        newstate = rcutorture_extend_mask(rtors.readstate, trsp);
        WARN_ON_ONCE(newstate & RCUTORTURE_RDR_UPDOWN);
-       rcutorture_one_extend(&rtors.readstate, newstate, myid < 0, trsp, rtors.rtrsp++);
+       rcutorture_one_extend(&rtors.readstate, newstate, trsp, rtors.rtrsp++);
        if (!rcu_torture_one_read_start(&rtors, trsp, myid)) {
-               rcutorture_one_extend(&rtors.readstate, 0, myid < 0, trsp, rtors.rtrsp);
+               rcutorture_one_extend(&rtors.readstate, 0, trsp, rtors.rtrsp);
                return false;
        }
-       rtors.rtrsp = rcutorture_loop_extend(&rtors.readstate, myid < 0, trsp, rtors.rtrsp);
-       rcu_torture_one_read_end(&rtors, trsp, myid);
+       rtors.rtrsp = rcutorture_loop_extend(&rtors.readstate, trsp, rtors.rtrsp);
+       rcu_torture_one_read_end(&rtors, trsp);
        return true;
 }
 
@@ -2469,7 +2466,7 @@ static enum hrtimer_restart rcu_torture_updown_hrt(struct hrtimer *hrtp)
        struct rcu_torture_one_read_state_updown *rtorsup;
 
        rtorsup = container_of(hrtp, struct rcu_torture_one_read_state_updown, rtorsu_hrt);
-       rcu_torture_one_read_end(&rtorsup->rtorsu_rtors, &rtorsup->rtorsu_trs, -1);
+       rcu_torture_one_read_end(&rtorsup->rtorsu_rtors, &rtorsup->rtorsu_trs);
        WARN_ONCE(rtorsup->rtorsu_nups >= rtorsup->rtorsu_ndowns, "%s: Up without matching down #%zu.\n", __func__, rtorsup - updownreaders);
        WRITE_ONCE(rtorsup->rtorsu_nups, rtorsup->rtorsu_nups + 1);
        WRITE_ONCE(rtorsup->rtorsu_nmigrates,
@@ -2519,7 +2516,7 @@ static void rcu_torture_updown_cleanup(void)
                if (!smp_load_acquire(&rtorsup->rtorsu_inuse))
                        continue;
                if (hrtimer_cancel(&rtorsup->rtorsu_hrt) || WARN_ON_ONCE(rtorsup->rtorsu_inuse)) {
-                       rcu_torture_one_read_end(&rtorsup->rtorsu_rtors, &rtorsup->rtorsu_trs, -1);
+                       rcu_torture_one_read_end(&rtorsup->rtorsu_rtors, &rtorsup->rtorsu_trs);
                        WARN_ONCE(rtorsup->rtorsu_nups >= rtorsup->rtorsu_ndowns, "%s: Up without matching down #%zu.\n", __func__, rtorsup - updownreaders);
                        WRITE_ONCE(rtorsup->rtorsu_nups, rtorsup->rtorsu_nups + 1);
                        smp_store_release(&rtorsup->rtorsu_inuse, false);