public inbox for rcu@vger.kernel.org
 help / color / mirror / Atom feed
From: Boqun Feng <boqun@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Paul E. McKenney" <paulmck@kernel.org>,
	Frederic Weisbecker <frederic@kernel.org>,
	Neeraj Upadhyay <neeraj.upadhyay@kernel.org>,
	Joel Fernandes <joelagnelf@nvidia.com>,
	Uladzislau Rezki <urezki@gmail.com>,
	linux-kernel@vger.kernel.org, rcu@vger.kernel.org,
	Alexei Starovoitov <ast@kernel.org>,
	Kumar Kartikeya Dwivedi <memxor@gmail.com>,
	bpf <bpf@vger.kernel.org>, Andrea Righi <arighi@nvidia.com>
Subject: [GIT PULL] RCU fixes for v7.0 (part 2)
Date: Wed, 25 Mar 2026 15:28:51 -0700	[thread overview]
Message-ID: <acRho9L4zA2MRuxc@tardis.local> (raw)

Hi Linus,

This is another set fixes for RCU in v7.0-rc, please pull these into
v7.0. The issue is since we replace the Tasks Trace RCU in tracing
(e.g. BPF) with SRCU, SRCU has to work in preemption disabled or
scheduler lock held contexts, which was missing in v7.0 RCU pull
request.

There is an email thread which can explain more of the context:

	https://lore.kernel.org/rcu/fe28d664-3872-40f6-83c6-818627ad5b7d@paulmck-laptop/

Thanks a lot for the report and test from Kumar and Andrea, and Joel and
Paul for the prompt fixes!


The following changes since commit f338e77383789c0cae23ca3d48adcc5e9e137e3c:

  Linux 7.0-rc4 (2026-03-15 13:52:05 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git tags/rcu-fixes.v7.0-20260325a

for you to fetch changes up to a6fc88b22bc8d12ad52e8412c667ec0f5bf055af:

  srcu: Use irq_work to start GP in tiny SRCU (2026-03-25 09:00:05 -0700)

----------------------------------------------------------------
RCU fixes for v7.0 - Part 2

Fix a regression introduced by commit c27cea4416a3 ("rcu: Re-implement
RCU Tasks Trace in terms of SRCU-fast"): BPF contexts can run with
preemption disabled or scheduler locks held, so call_srcu() must work in
all such contexts. Fix this by converting SRCU's spinlocks to raw
spinlocks and avoiding scheduler lock acquisition in call_srcu() by
deferring to an irq_work (similar to call_rcu_tasks_generic()), for both
tree SRCU and tiny SRCU. Also fix a follow-on lockdep splat caused by
srcu_node allocation under the newly introduced raw spinlock by
deferring the allocation to grace-period worker context.

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

Regards,
Boqun

Boqun Feng (1):
      rcu: Use an intermediate irq_work to start process_srcu()

Joel Fernandes (1):
      srcu: Use irq_work to start GP in tiny SRCU

Paul E. McKenney (2):
      srcu: Use raw spinlocks so call_srcu() can be used under preempt_disable()
      srcu: Push srcu_node allocation to GP when non-preemptible

 include/linux/srcutiny.h |   4 +
 include/linux/srcutree.h |   9 +-
 kernel/rcu/rcu.h         |   9 ++
 kernel/rcu/srcutiny.c    |  19 ++++-
 kernel/rcu/srcutree.c    | 211 +++++++++++++++++++++++------------------------
 5 files changed, 138 insertions(+), 114 deletions(-)

             reply	other threads:[~2026-03-25 22:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-25 22:28 Boqun Feng [this message]
2026-03-26  1:52 ` [GIT PULL] RCU fixes for v7.0 (part 2) pr-tracker-bot
2026-03-26 19:12 ` patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=acRho9L4zA2MRuxc@tardis.local \
    --to=boqun@kernel.org \
    --cc=arighi@nvidia.com \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=frederic@kernel.org \
    --cc=joelagnelf@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=memxor@gmail.com \
    --cc=neeraj.upadhyay@kernel.org \
    --cc=paulmck@kernel.org \
    --cc=rcu@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=urezki@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox