linux/Documentation/RCU
Paul E. McKenney 6efebf8499 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>
2019-01-25 15:34:18 -08:00
..
Design doc: CPU-hotplug notifiers cannot invoke synchronize_srcu() or srcu_barrier() 2019-01-25 15:34:18 -08:00
arrayRCU.txt documentation: RCU-protected array indexes no longer supported 2015-05-27 12:56:17 -07:00
checklist.txt doc: rcu: Encourage use of rcu_barrier in checklist 2018-11-12 08:56:25 -08:00
listRCU.txt rcu: Update docs to include kfree_rcu() 2012-11-08 11:44:25 -08:00
lockdep-splat.txt kthread: kthread worker API cleanup 2016-10-11 15:06:33 -07:00
lockdep.txt documentation: RCU-protected array indexes no longer supported 2015-05-27 12:56:17 -07:00
NMI-RCU.txt
rcu_dereference.txt doc: De-emphasize smp_read_barrier_depends 2017-12-05 11:57:53 -08:00
rcu.txt Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00
rcubarrier.txt doc: Update RCU documentation 2017-08-17 07:29:48 -07:00
rculist_nulls.txt mm: Rename SLAB_DESTROY_BY_RCU to SLAB_TYPESAFE_BY_RCU 2017-04-18 11:42:36 -07:00
rcuref.txt documentation: Add pointer to percpu-ref for RCU and refcount 2014-07-08 08:32:56 -07:00
RTFP.txt Documentation: fix common spelling mistakes 2016-04-28 07:51:59 -06:00
stallwarn.txt rcu: Discard separate per-CPU callback counts 2019-01-25 15:28:30 -08:00
torture.txt doc: Update RCU documentation 2017-08-17 07:29:48 -07:00
UP.txt
whatisRCU.txt doc: Make reader aware of rcu_dereference_protected 2018-11-12 08:56:25 -08:00