* [GIT PULL] RCU changes for v7.1
@ 2026-03-31 17:42 Joel Fernandes
2026-04-13 16:40 ` Linus Torvalds
2026-04-13 17:00 ` pr-tracker-bot
0 siblings, 2 replies; 7+ messages in thread
From: Joel Fernandes @ 2026-03-31 17:42 UTC (permalink / raw)
To: Linus Torvalds
Cc: Paul E. McKenney, Frederic Weisbecker, Neeraj Upadhyay,
Uladzislau Rezki, Joel Fernandes, joel, agnel.joel, linux-kernel,
rcu
Hi Linus,
Once the merge window opens, please pull the following RCU changes for v7.1.
The following changes since commit 7aaa8047eafd0bd628065b15757d9b48c5f9c07d:
Linux 7.0-rc6 (2026-03-29 15:40:00 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git tags/rcu.2026.03.31a
for you to fetch changes up to 95c7d025cc8c3c6c41206e2a18332eb04878b7ef:
rcutorture: Test call_srcu() with preemption disabled and not (2026-03-30 15:48:14 -0400)
----------------------------------------------------------------
RCU changes for v7.1
NOCB CPU management:
- Consolidate rcu_nocb_cpu_offload() and rcu_nocb_cpu_deoffload() to reduce
code duplication.
- Extract nocb_bypass_needs_flush() helper to reduce duplication in NOCB
bypass path.
rcutorture/torture infrastructure:
- Add NOCB01 config for RCU_LAZY torture testing.
- Add NOCB02 config for NOCB poll mode testing.
- Add TRIVIAL-PREEMPT config for textbook-style preemptible RCU torture.
- Test call_srcu() with preemption both disabled and enabled.
- Remove kvm-check-branches.sh in favor of kvm-series.sh.
- Make hangs more visible in torture.sh output.
- Add informative message for tests without a recheck file.
- Fix numeric test comparison in srcu_lockdep.sh.
- Use torture_shutdown_init() in refscale and rcuscale instead of open-coded
shutdown functions.
- Fix modulo-zero error in torture_hrtimeout_ns().
SRCU:
- Fix SRCU read flavor macro comments.
- Fix s/they disables/they disable/ typo in srcu_read_unlock_fast().
RCU Tasks:
- Document that RCU Tasks Trace grace periods now imply RCU grace periods.
- Remove unnecessary smp_store_release() in cblist_init_generic().
RCU stall:
- Add BOOTPARAM_RCU_STALL_PANIC Kconfig option to allow triggering a kernel
panic on RCU stall via kernel boot parameter.
----------------------------------------------------------------
Gustavo Luiz Duarte (1):
rcu: Add BOOTPARAM_RCU_STALL_PANIC Kconfig option
Joel Fernandes (4):
rcutorture: Add NOCB01 config for RCU_LAZY torture testing
rcutorture: Add NOCB02 config for nocb poll mode testing
rcu/nocb: Consolidate rcu_nocb_cpu_offload/deoffload functions
rcu/nocb: Extract nocb_bypass_needs_flush() to reduce duplication
Paul E. McKenney (12):
rcutorture: Add a textbook-style trivial preemptible RCU
kvm-check-branches.sh: Remove in favor of kvm-series.sh
torture: Make hangs more visible in torture.sh output
torture: Print informative message for test without recheck file
rcutorture: Fix numeric "test" comparison in srcu_lockdep.sh
refscale: Ditch ref_scale_shutdown in favor of torture_shutdown_init()
rcuscale: Ditch rcu_scale_shutdown in favor of torture_shutdown_init()
srcu: Fix SRCU read flavor macro comments
srcu: Fix s/they disables/they disable/ typo in srcu_read_unlock_fast()
rcu-tasks: Document that RCU Tasks Trace grace periods now imply RCU grace periods
torture: Avoid modulo-zero error in torture_hrtimeout_ns()
rcutorture: Test call_srcu() with preemption disabled and not
Zqiang (1):
rcu-tasks: Remove unnecessary smp_store_release() in cblist_init_generic()
.../RCU/Design/Requirements/Requirements.rst | 7 ++
include/linux/rcupdate.h | 9 +-
include/linux/sched.h | 4 +
include/linux/srcu.h | 4 +-
include/linux/srcutree.h | 2 +-
kernel/rcu/Kconfig.debug | 35 ++++++
kernel/rcu/rcu.h | 4 +
kernel/rcu/rcuscale.c | 78 ++++--------
kernel/rcu/rcutorture.c | 64 +++++++++-
kernel/rcu/refscale.c | 51 +++-----
kernel/rcu/tasks.h | 6 +-
kernel/rcu/tree_nocb.h | 137 ++++++++++++---------
kernel/rcu/tree_stall.h | 2 +-
kernel/rcu/update.c | 22 ++++
kernel/torture.c | 2 +-
.../selftests/rcutorture/bin/kvm-check-branches.sh | 102 ---------------
.../selftests/rcutorture/bin/kvm-recheck.sh | 9 +-
.../selftests/rcutorture/bin/parse-console.sh | 1 -
.../selftests/rcutorture/bin/srcu_lockdep.sh | 6 +-
.../selftests/rcutorture/configs/rcu/NOCB01 | 21 ++++
.../selftests/rcutorture/configs/rcu/NOCB01.boot | 2 +
.../selftests/rcutorture/configs/rcu/NOCB02 | 20 +++
.../selftests/rcutorture/configs/rcu/NOCB02.boot | 3 +
.../rcutorture/configs/rcu/TRIVIAL-PREEMPT | 12 ++
.../rcutorture/configs/rcu/TRIVIAL-PREEMPT.boot | 3 +
.../rcutorture/configs/rcuscale/ver_functions.sh | 2 +-
.../rcutorture/configs/refscale/ver_functions.sh | 2 +-
27 files changed, 334 insertions(+), 276 deletions(-)
delete mode 100755 tools/testing/selftests/rcutorture/bin/kvm-check-branches.sh
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/NOCB01
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/NOCB01.boot
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/NOCB02
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/NOCB02.boot
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TRIVIAL-PREEMPT
create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TRIVIAL-PREEMPT.boot
--
Joel Fernandes
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] RCU changes for v7.1
2026-03-31 17:42 [GIT PULL] RCU changes for v7.1 Joel Fernandes
@ 2026-04-13 16:40 ` Linus Torvalds
2026-04-13 18:03 ` Paul E. McKenney
2026-04-13 19:23 ` Joel Fernandes
2026-04-13 17:00 ` pr-tracker-bot
1 sibling, 2 replies; 7+ messages in thread
From: Linus Torvalds @ 2026-04-13 16:40 UTC (permalink / raw)
To: Joel Fernandes
Cc: Paul E. McKenney, Frederic Weisbecker, Neeraj Upadhyay,
Uladzislau Rezki, joel, agnel.joel, linux-kernel, rcu
On Tue, 31 Mar 2026 at 10:42, Joel Fernandes <joelagnelf@nvidia.com> wrote:
>
> RCU stall:
>
> - Add BOOTPARAM_RCU_STALL_PANIC Kconfig option to allow triggering a kernel
> panic on RCU stall via kernel boot parameter.
No.
Dammit, stop doing these horrible things.
I've said this a million times by now: the kernel config phase is
probably one of the biggest pain points for random new people trying
to build their own kernels, and we DO NOT ASK PEOPLE STUIPID THINGS.
People who want this can damn well use the sysctl or maybe some kernel
command line option instead, and we DO NOT MAKE LIFE WORSE FOR
EVERYBODY ELSE.
I have removed that disgusting kernel kconfig option, and I want to
make it very clear to people that the kconfig files aren't your
personal playgrounds: they are the most visible interface to NORMAL
USERS that we want to encourage to build their own kernels so that
they can participate in kernel development.
So people: next time you feel the urge to add a Kconfig option, take a
deep breath, and look at that Kconfig file, and go "Maybe I can
instead remove this *other* useless option instead".
Let's *improve* on the kernel instead of making things worse.
Linus
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] RCU changes for v7.1
2026-03-31 17:42 [GIT PULL] RCU changes for v7.1 Joel Fernandes
2026-04-13 16:40 ` Linus Torvalds
@ 2026-04-13 17:00 ` pr-tracker-bot
1 sibling, 0 replies; 7+ messages in thread
From: pr-tracker-bot @ 2026-04-13 17:00 UTC (permalink / raw)
To: Joel Fernandes
Cc: Linus Torvalds, Paul E. McKenney, Frederic Weisbecker,
Neeraj Upadhyay, Uladzislau Rezki, Joel Fernandes, joel,
agnel.joel, linux-kernel, rcu
The pull request you sent on Tue, 31 Mar 2026 13:42:00 -0400:
> git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git tags/rcu.2026.03.31a
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/28483203f7d7fe4f123ed08266c381fac96b0701
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] RCU changes for v7.1
2026-04-13 16:40 ` Linus Torvalds
@ 2026-04-13 18:03 ` Paul E. McKenney
2026-04-13 19:38 ` Linus Torvalds
2026-04-13 19:23 ` Joel Fernandes
1 sibling, 1 reply; 7+ messages in thread
From: Paul E. McKenney @ 2026-04-13 18:03 UTC (permalink / raw)
To: Linus Torvalds
Cc: Joel Fernandes, Frederic Weisbecker, Neeraj Upadhyay,
Uladzislau Rezki, joel, agnel.joel, linux-kernel, rcu
On Mon, Apr 13, 2026 at 09:40:57AM -0700, Linus Torvalds wrote:
> On Tue, 31 Mar 2026 at 10:42, Joel Fernandes <joelagnelf@nvidia.com> wrote:
> >
> > RCU stall:
> >
> > - Add BOOTPARAM_RCU_STALL_PANIC Kconfig option to allow triggering a kernel
> > panic on RCU stall via kernel boot parameter.
>
> No.
>
> Dammit, stop doing these horrible things.
>
> I've said this a million times by now: the kernel config phase is
> probably one of the biggest pain points for random new people trying
> to build their own kernels, and we DO NOT ASK PEOPLE STUIPID THINGS.
>
> People who want this can damn well use the sysctl or maybe some kernel
> command line option instead, and we DO NOT MAKE LIFE WORSE FOR
> EVERYBODY ELSE.
>
> I have removed that disgusting kernel kconfig option, and I want to
> make it very clear to people that the kconfig files aren't your
> personal playgrounds: they are the most visible interface to NORMAL
> USERS that we want to encourage to build their own kernels so that
> they can participate in kernel development.
>
> So people: next time you feel the urge to add a Kconfig option, take a
> deep breath, and look at that Kconfig file, and go "Maybe I can
> instead remove this *other* useless option instead".
>
> Let's *improve* on the kernel instead of making things worse.
Apologies! Would making this instead be a kernel boot parameter be
acceptable?
Thanx, Paul
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] RCU changes for v7.1
2026-04-13 16:40 ` Linus Torvalds
2026-04-13 18:03 ` Paul E. McKenney
@ 2026-04-13 19:23 ` Joel Fernandes
1 sibling, 0 replies; 7+ messages in thread
From: Joel Fernandes @ 2026-04-13 19:23 UTC (permalink / raw)
To: Linus Torvalds
Cc: Paul E. McKenney, Frederic Weisbecker, Neeraj Upadhyay,
Uladzislau Rezki, joel, agnel.joel, linux-kernel, rcu,
Gustavo Luiz Duarte
On 4/13/2026 12:40 PM, Linus Torvalds wrote:
> On Tue, 31 Mar 2026 at 10:42, Joel Fernandes <joelagnelf@nvidia.com> wrote:
>>
>> RCU stall:
>>
>> - Add BOOTPARAM_RCU_STALL_PANIC Kconfig option to allow triggering a kernel
>> panic on RCU stall via kernel boot parameter.
>
> No.
>
> Dammit, stop doing these horrible things.
>
> I've said this a million times by now: the kernel config phase is
> probably one of the biggest pain points for random new people trying
> to build their own kernels, and we DO NOT ASK PEOPLE STUIPID THINGS.
>
> People who want this can damn well use the sysctl or maybe some kernel
> command line option instead, and we DO NOT MAKE LIFE WORSE FOR
> EVERYBODY ELSE.
>
> I have removed that disgusting kernel kconfig option, and I want to
> make it very clear to people that the kconfig files aren't your
> personal playgrounds: they are the most visible interface to NORMAL
> USERS that we want to encourage to build their own kernels so that
> they can participate in kernel development.
Linus, I am Ok with dropping it and thanks for doing that, no problem. sysctl
sounds like a good option to me (CC'ing the patch author, Gustavo, as well in
case they want to go this route).
Regarding boot params, I guess I would like to add - sometimes it is difficult
for people to change kernel boot params (coming from the Android world, I
remember setting boot params required changing and recompiling the bootloader,
and it was much easier to recompile the kernel than the bootloader. The
bootloader came from flash memory and required special signing processes etc).
That said, I totally agree with not polluting and complicating Kconfig
unnecessarily.
>
> So people: next time you feel the urge to add a Kconfig option, take a
> deep breath, and look at that Kconfig file, and go "Maybe I can
> instead remove this *other* useless option instead".
Noted, though, in this case "removing the other option which is to
panic-on-stall" does not help, because not everyone will want to panic-on-stall
by default? So sysctl to turn on the feature maybe makes sense (for those who
prefer that over boot parameters).
thanks,
--
Joel Fernandes
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] RCU changes for v7.1
2026-04-13 18:03 ` Paul E. McKenney
@ 2026-04-13 19:38 ` Linus Torvalds
2026-04-13 20:57 ` Paul E. McKenney
0 siblings, 1 reply; 7+ messages in thread
From: Linus Torvalds @ 2026-04-13 19:38 UTC (permalink / raw)
To: paulmck
Cc: Joel Fernandes, Frederic Weisbecker, Neeraj Upadhyay,
Uladzislau Rezki, joel, agnel.joel, linux-kernel, rcu
On Mon, 13 Apr 2026 at 11:03, Paul E. McKenney <paulmck@kernel.org> wrote:
>
> Apologies! Would making this instead be a kernel boot parameter be
> acceptable?
We already have a sysctl for it, and you should *already* be able to
use a boot parameter for it with just
sysctl.kernel.panic_on_rcu_stall=true
Not that I've tried it, so maybe there's some bug somewhere (or
something I've overlooked), but I really think the whole kernel config
option was entirely redundant to begin with.
Linus
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [GIT PULL] RCU changes for v7.1
2026-04-13 19:38 ` Linus Torvalds
@ 2026-04-13 20:57 ` Paul E. McKenney
0 siblings, 0 replies; 7+ messages in thread
From: Paul E. McKenney @ 2026-04-13 20:57 UTC (permalink / raw)
To: Linus Torvalds
Cc: Joel Fernandes, Frederic Weisbecker, Neeraj Upadhyay,
Uladzislau Rezki, joel, agnel.joel, linux-kernel, rcu
On Mon, Apr 13, 2026 at 12:38:32PM -0700, Linus Torvalds wrote:
> On Mon, 13 Apr 2026 at 11:03, Paul E. McKenney <paulmck@kernel.org> wrote:
> >
> > Apologies! Would making this instead be a kernel boot parameter be
> > acceptable?
>
> We already have a sysctl for it, and you should *already* be able to
> use a boot parameter for it with just
>
> sysctl.kernel.panic_on_rcu_stall=true
Thank you, and testing is in progress.
> Not that I've tried it, so maybe there's some bug somewhere (or
> something I've overlooked), but I really think the whole kernel config
> option was entirely redundant to begin with.
Given recent improvements to bootconfig, using the sysctl kernel boot
parameter should be just fine.
Before those improvements, associating particular kernel boot parameters
with all kernels was often problematic in large sets of datacenters.
Even worse were cases where kernel boot parameters needed to be set
differently for different kernel versions. But for most kernel boot
parameters (including this one), things should be fine now.
More work is needed for early boot parameters, and that is in progress.
In this case, I simply failed to get all the pieces in my head at the
same time. In particular, I forgot that you can specify kernel boot
parameters for sysctls. :-/
Thanx, Paul
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-04-13 20:57 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-31 17:42 [GIT PULL] RCU changes for v7.1 Joel Fernandes
2026-04-13 16:40 ` Linus Torvalds
2026-04-13 18:03 ` Paul E. McKenney
2026-04-13 19:38 ` Linus Torvalds
2026-04-13 20:57 ` Paul E. McKenney
2026-04-13 19:23 ` Joel Fernandes
2026-04-13 17:00 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox