diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-03-26 04:14:19 +0300 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-03-26 04:14:19 +0300 |
| commit | aba9da0905f14106b368e0abf75220e744d27626 (patch) | |
| tree | d1579c800ad6ad4c230dbb2d292a37208dcc4918 /samples/workqueue | |
| parent | d2a43e7f89da55d6f0f96aaadaa243f35557291e (diff) | |
| parent | a6fc88b22bc8d12ad52e8412c667ec0f5bf055af (diff) | |
| download | linux-aba9da0905f14106b368e0abf75220e744d27626.tar.xz | |
Merge tag 'rcu-fixes.v7.0-20260325a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux
Pull RCU fixes from Boqun Feng:
"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"
* tag 'rcu-fixes.v7.0-20260325a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux:
srcu: Use irq_work to start GP in tiny SRCU
rcu: Use an intermediate irq_work to start process_srcu()
srcu: Push srcu_node allocation to GP when non-preemptible
srcu: Use raw spinlocks so call_srcu() can be used under preempt_disable()
Diffstat (limited to 'samples/workqueue')
0 files changed, 0 insertions, 0 deletions
