[PATCH 0/4] rcu: Fix lazy-preemption regression in torture-test suites

From: Paul E. McKenney

Date: Tue Mar 03 2026 - 18:59:00 EST


Hello!

As of v7.0-rc1, architectures that support preemption, including x86 and
arm64, no longer support CONFIG_PREEMPT_NONE or CONFIG_PREEMPT_VOLUNTARY.
Attempting to build kernels with these two Kconfig options results in
.config errors, which causes torture-test programs such as rcutorture
to throw false-positive errors. This series fixes this v7.0-rc1
regression by converting these scanarios from CONFIG_PREEMPT_NONE=y or
CONFIG_PREEMPT_VOLUNTARY=y to CONFIG_PREEMPT_LAZY=y.

Those maintaining architectures not supporting preemption might wish to
run rcutorture with CONFIG_PREEMPT_NONE=y and CONFIG_PREEMPT_VOLUNTARY=y
because I no longer have access to any systems supporting these Kconfig
choices.

With all that said, the patches are as follows:

1. rcutorture: Update due to x86 not supporting none/voluntary
preemption.

2. rcuscale: Update due to x86 not supporting none/voluntary
preemption.

3. refscale: Update due to x86 not supporting none/voluntary
preemption.

4. scftorture: Update due to x86 not supporting none/voluntary
preemption.

Thanx, Paul

------------------------------------------------------------------------

rcu/SRCU-N | 3 ++-
rcu/SRCU-T | 3 ++-
rcu/SRCU-U | 3 ++-
rcu/TASKS02 | 3 ++-
rcu/TINY01 | 3 ++-
rcu/TINY02 | 3 ++-
rcu/TRACE01 | 3 ++-
rcu/TREE04 | 3 ++-
rcu/TREE05 | 3 ++-
rcu/TREE06 | 3 ++-
rcu/TRIVIAL | 3 ++-
rcuscale/TINY | 3 ++-
rcuscale/TRACE01 | 3 ++-
refscale/NOPREEMPT | 3 ++-
refscale/TINY | 3 ++-
scf/NOPREEMPT | 3 ++-
16 files changed, 32 insertions(+), 16 deletions(-)