summaryrefslogtreecommitdiff
path: root/include/linux/mdev.h
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/linux/mdev.h
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/linux/mdev.h')
0 files changed, 0 insertions, 0 deletions