summaryrefslogtreecommitdiff
path: root/include/trace
diff options
context:
space:
mode:
authorFrederic Weisbecker <frederic@kernel.org>2019-07-24 15:22:59 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-05-17 11:13:22 +0200
commitfe2ae32a7ec9fa64f61993b808f25315b9996b03 (patch)
tree0d935deff423125cff3fd29e26c29128c2c47aab /include/trace
parentc6989314fd809c5eaf4980d6fa474f19fc653d6c (diff)
nohz: Add TICK_DEP_BIT_RCU
[ Upstream commit 01b4c39901e087ceebae2733857248de81476bd8 ] If a nohz_full CPU is looping in the kernel, the scheduling-clock tick might nevertheless remain disabled. In !PREEMPT kernels, this can prevent RCU's attempts to enlist the aid of that CPU's executions of cond_resched(), which can in turn result in an arbitrarily delayed grace period and thus an OOM. RCU therefore needs a way to enable a holdout nohz_full CPU's scheduler-clock interrupt. This commit therefore provides a new TICK_DEP_BIT_RCU value which RCU can pass to tick_dep_set_cpu() and friends to force on the scheduler-clock interrupt for a specified CPU or task. In some cases, rcutorture needs to turn on the scheduler-clock tick, so this commit also exports the relevant symbols to GPL-licensed modules. Signed-off-by: Frederic Weisbecker <frederic@kernel.org> Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Stable-dep-of: 58d766824264 ("tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem") Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/timer.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/trace/events/timer.h b/include/trace/events/timer.h
index a57e4ee989d6..350b046e7576 100644
--- a/include/trace/events/timer.h
+++ b/include/trace/events/timer.h
@@ -362,7 +362,8 @@ TRACE_EVENT(itimer_expire,
tick_dep_name(POSIX_TIMER) \
tick_dep_name(PERF_EVENTS) \
tick_dep_name(SCHED) \
- tick_dep_name_end(CLOCK_UNSTABLE)
+ tick_dep_name(CLOCK_UNSTABLE) \
+ tick_dep_name_end(RCU)
#undef tick_dep_name
#undef tick_dep_mask_name