Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'rcu-fixes.v7.0-20260307a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux

Pull RCU selftest fixes from Boqun Feng:
"Fix a regression in RCU torture test pre-defined scenarios caused by
commit 7dadeaa6e851 ("sched: Further restrict the preemption modes")
which limits PREEMPT_NONE to architectures that do not support
preemption at all and PREEMPT_VOLUNTARY to those architectures that do
not yet have PREEMPT_LAZY support.

Since major architectures (e.g. x86 and arm64) no longer support
CONFIG_PREEMPT_NONE and CONFIG_PREEMPT_VOLUNTARY, using them in
rcutorture, rcuscale, refscale, and scftorture pre-defined scenarios
causes config checking errors.

Switch these kconfigs to PREEMPT_LAZY"

* tag 'rcu-fixes.v7.0-20260307a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux:
scftorture: Update due to x86 not supporting none/voluntary preemption
refscale: Update due to x86 not supporting none/voluntary preemption
rcuscale: Update due to x86 not supporting none/voluntary preemption
rcutorture: Update due to x86 not supporting none/voluntary preemption

+39 -18
+3 -1
tools/testing/selftests/rcutorture/configs/rcu/SRCU-N
··· 2 2 CONFIG_SMP=y 3 3 CONFIG_NR_CPUS=4 4 4 CONFIG_HOTPLUG_CPU=y 5 - CONFIG_PREEMPT_NONE=y 5 + CONFIG_PREEMPT_DYNAMIC=n 6 + CONFIG_PREEMPT_LAZY=y 7 + CONFIG_PREEMPT_NONE=n 6 8 CONFIG_PREEMPT_VOLUNTARY=n 7 9 CONFIG_PREEMPT=n 8 10 #CHECK#CONFIG_RCU_EXPERT=n
+2 -1
tools/testing/selftests/rcutorture/configs/rcu/SRCU-T
··· 1 1 CONFIG_SMP=n 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n
+2 -2
tools/testing/selftests/rcutorture/configs/rcu/SRCU-U
··· 1 1 CONFIG_SMP=n 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n ··· 8 7 CONFIG_RCU_TRACE=n 9 8 CONFIG_DEBUG_LOCK_ALLOC=n 10 9 CONFIG_DEBUG_OBJECTS_RCU_HEAD=n 11 - CONFIG_PREEMPT_COUNT=n
+2 -1
tools/testing/selftests/rcutorture/configs/rcu/TASKS02
··· 1 1 CONFIG_SMP=n 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n
+2 -2
tools/testing/selftests/rcutorture/configs/rcu/TINY01
··· 1 1 CONFIG_SMP=n 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n ··· 12 11 #CHECK#CONFIG_RCU_STALL_COMMON=n 13 12 CONFIG_DEBUG_LOCK_ALLOC=n 14 13 CONFIG_DEBUG_OBJECTS_RCU_HEAD=n 15 - CONFIG_PREEMPT_COUNT=n
+2 -1
tools/testing/selftests/rcutorture/configs/rcu/TINY02
··· 1 1 CONFIG_SMP=n 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n
+2 -1
tools/testing/selftests/rcutorture/configs/rcu/TRACE01
··· 1 1 CONFIG_SMP=y 2 2 CONFIG_NR_CPUS=5 3 3 CONFIG_HOTPLUG_CPU=y 4 - CONFIG_PREEMPT_NONE=y 4 + CONFIG_PREEMPT_LAZY=y 5 + CONFIG_PREEMPT_NONE=n 5 6 CONFIG_PREEMPT_VOLUNTARY=n 6 7 CONFIG_PREEMPT=n 7 8 CONFIG_PREEMPT_DYNAMIC=n
+3 -1
tools/testing/selftests/rcutorture/configs/rcu/TREE04
··· 1 1 CONFIG_SMP=y 2 2 CONFIG_NR_CPUS=8 3 + CONFIG_PREEMPT_LAZY=y 3 4 CONFIG_PREEMPT_NONE=n 4 - CONFIG_PREEMPT_VOLUNTARY=y 5 + CONFIG_PREEMPT_VOLUNTARY=n 5 6 CONFIG_PREEMPT=n 6 7 CONFIG_PREEMPT_DYNAMIC=n 7 8 #CHECK#CONFIG_TREE_RCU=y 9 + #CHECK#CONFIG_PREEMPT_RCU=n 8 10 CONFIG_HZ_PERIODIC=n 9 11 CONFIG_NO_HZ_IDLE=n 10 12 CONFIG_NO_HZ_FULL=y
+3 -1
tools/testing/selftests/rcutorture/configs/rcu/TREE05
··· 1 1 CONFIG_SMP=y 2 2 CONFIG_NR_CPUS=8 3 - CONFIG_PREEMPT_NONE=y 3 + CONFIG_PREEMPT_DYNAMIC=n 4 + CONFIG_PREEMPT_LAZY=y 5 + CONFIG_PREEMPT_NONE=n 4 6 CONFIG_PREEMPT_VOLUNTARY=n 5 7 CONFIG_PREEMPT=n 6 8 #CHECK#CONFIG_TREE_RCU=y
+4 -1
tools/testing/selftests/rcutorture/configs/rcu/TREE06
··· 1 1 CONFIG_SMP=y 2 2 CONFIG_NR_CPUS=8 3 - CONFIG_PREEMPT_NONE=y 3 + CONFIG_PREEMPT_DYNAMIC=n 4 + CONFIG_PREEMPT_LAZY=y 5 + CONFIG_PREEMPT_NONE=n 4 6 CONFIG_PREEMPT_VOLUNTARY=n 5 7 CONFIG_PREEMPT=n 6 8 #CHECK#CONFIG_TREE_RCU=y 9 + #CHECK#CONFIG_PREEMPT_RCU=n 7 10 CONFIG_HZ_PERIODIC=n 8 11 CONFIG_NO_HZ_IDLE=y 9 12 CONFIG_NO_HZ_FULL=n
+1
tools/testing/selftests/rcutorture/configs/rcu/TREE10
··· 6 6 CONFIG_PREEMPT=n 7 7 CONFIG_PREEMPT_DYNAMIC=n 8 8 #CHECK#CONFIG_TREE_RCU=y 9 + CONFIG_PREEMPT_RCU=n 9 10 CONFIG_HZ_PERIODIC=n 10 11 CONFIG_NO_HZ_IDLE=y 11 12 CONFIG_NO_HZ_FULL=n
+3 -1
tools/testing/selftests/rcutorture/configs/rcu/TRIVIAL
··· 1 1 CONFIG_SMP=y 2 2 CONFIG_NR_CPUS=8 3 - CONFIG_PREEMPT_NONE=y 3 + CONFIG_PREEMPT_DYNAMIC=n 4 + CONFIG_PREEMPT_LAZY=y 5 + CONFIG_PREEMPT_NONE=n 4 6 CONFIG_PREEMPT_VOLUNTARY=n 5 7 CONFIG_PREEMPT=n 6 8 CONFIG_HZ_PERIODIC=n
+2 -1
tools/testing/selftests/rcutorture/configs/rcuscale/TINY
··· 1 1 CONFIG_SMP=n 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n
+2 -1
tools/testing/selftests/rcutorture/configs/rcuscale/TRACE01
··· 1 1 CONFIG_SMP=y 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n
+2 -1
tools/testing/selftests/rcutorture/configs/refscale/NOPREEMPT
··· 1 1 CONFIG_SMP=y 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n
+2 -1
tools/testing/selftests/rcutorture/configs/refscale/TINY
··· 1 1 CONFIG_SMP=n 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n
+2 -1
tools/testing/selftests/rcutorture/configs/scf/NOPREEMPT
··· 1 1 CONFIG_SMP=y 2 - CONFIG_PREEMPT_NONE=y 2 + CONFIG_PREEMPT_LAZY=y 3 + CONFIG_PREEMPT_NONE=n 3 4 CONFIG_PREEMPT_VOLUNTARY=n 4 5 CONFIG_PREEMPT=n 5 6 CONFIG_PREEMPT_DYNAMIC=n