[GIT PULL] RCU fix for v6.12
From: Neeraj Upadhyay
Date: Fri Oct 11 2024 - 14:20:38 EST
Hi Linus,
The following changes since commit 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b:
Linux 6.12-rc2 (2024-10-06 15:32:27 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git tags/rcu.fixes.6.12-rc3
for you to fetch changes up to f7345ccc62a4b880cf76458db5f320725f28e400:
rcu/nocb: Fix rcuog wake-up from offline softirq (2024-10-10 22:18:19 +0530)
----------------------------------------------------------------
RCU fix for v6.12
Fix rcuog kthread wakeup invocation from softirq context on a CPU
which has been marked offline. This can happen when new callbacks
are enqueued from a softirq on an offline CPU before it calls
rcutree_report_cpu_dead(). When this happens on NOCB configuration,
the rcuog wake-up is deferred through an IPI to an online CPU.
This is done to avoid call into the scheduler which can risk
arming the RT-bandwidth after hrtimers have been migrated out
and disabled. However, doing IPI call from softirq is not allowed
Fix this by forcing deferred rcuog wakeup through the NOCB timer
when the CPU is offline.
----------------------------------------------------------------
Frederic Weisbecker (1):
rcu/nocb: Fix rcuog wake-up from offline softirq
kernel/rcu/tree_nocb.h | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)