summaryrefslogtreecommitdiffstats
path: root/kernel/rcu/tiny.c
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.ibm.com>2018-12-11 17:28:56 +0100
committerPaul E. McKenney <paulmck@linux.ibm.com>2019-01-26 00:34:18 +0100
commit6efebf84997b26a6264eaeacf05eb6f5de2772b7 (patch)
tree1484962d6a1f5063add41bff2cdb46e67da960d9 /kernel/rcu/tiny.c
parentdoc: Now jiffies_till_sched_qs solicits help from cond_resched() (diff)
downloadlinux-6efebf84997b26a6264eaeacf05eb6f5de2772b7.tar.xz
linux-6efebf84997b26a6264eaeacf05eb6f5de2772b7.zip
doc: CPU-hotplug notifiers cannot invoke synchronize_srcu() or srcu_barrier()
SRCU's synchronize_srcu() may not be invoked from CPU-hotplug notifiers, due to the fact that SRCU grace periods make use of timers and the possibility of timers being temporarily stranded on the outgoing CPU. This stranding of timers means that timers posted to the outgoing CPU will not fire until late in the CPU-hotplug process. The problem is that if a notifier is waiting on an SRCU grace period, that grace period is waiting on a timer, and that timer is stranded on the outgoing CPU, then the notifier will never be awakened, in other words, deadlock has occurred. This same situation of course also prohibits srcu_barrier() from being invoked from CPU-hotplug notifiers. This commit therefore updates the requirements to include this restriction. Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Diffstat (limited to 'kernel/rcu/tiny.c')
0 files changed, 0 insertions, 0 deletions