From: Paul E. McKenney Date: Sat, 14 Mar 2026 13:18:48 +0000 (-0700) Subject: rcutorture: Test call_srcu() with preemption disabled and not X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=95c7d025cc8c3c6c41206e2a18332eb04878b7ef;p=thirdparty%2Fkernel%2Flinux.git rcutorture: Test call_srcu() with preemption disabled and not This commit tests invoking call_srcu() with preemption both enabled and disabled, via acquiring of pi lock. [ Joel: reword commit message. ] Signed-off-by: Paul E. McKenney Signed-off-by: Joel Fernandes --- diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c index 3c272413666b2..5f2848b828dc4 100644 --- a/kernel/rcu/rcutorture.c +++ b/kernel/rcu/rcutorture.c @@ -842,7 +842,14 @@ static unsigned long srcu_torture_completed(void) static void srcu_torture_deferred_free(struct rcu_torture *rp) { + unsigned long flags; + bool lockit = jiffies & 0x1; + + if (lockit) + raw_spin_lock_irqsave(¤t->pi_lock, flags); call_srcu(srcu_ctlp, &rp->rtort_rcu, rcu_torture_cb); + if (lockit) + raw_spin_unlock_irqrestore(¤t->pi_lock, flags); } static void srcu_torture_synchronize(void)