On Tue, Mar 03, 2026 at 03:58:56PM -0800, Paul E. McKenney wrote:
> 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.
>
I queued this series at:
https://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git/
fixes.v7.0
based on v7.0-rc2, and I'm running some test from my end. If everything
goes well, I will send a fix PR before -rc3. Thank you both!
Regards,
Boqun
> 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(-)
>