summaryrefslogtreecommitdiff
path: root/Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.ibm.com>2018-10-15 10:54:13 -0700
committerPaul E. McKenney <paulmck@linux.ibm.com>2018-11-12 08:56:25 -0800
commit97562c018135a9d01c59bd3bf95a9458548b79e2 (patch)
treee3382f990d2dce406e4a892f4b90958147379670 /Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html
parent97949f0176da396c32e7c881cbfbc61642fb1266 (diff)
downloadlinux-97562c018135a9d01c59bd3bf95a9458548b79e2.tar.gz
doc: RCU scheduler spinlock rcu_read_unlock() restriction remains
Given RCU flavor consolidation, when rcu_read_unlock() is invoked with interrupts disabled, the reporting of the corresponding quiescent state is deferred until interrupts are re-enabled. There was therefore some hope that this would allow dropping the restriction against holding scheduler spinlocks across an rcu_read_unlock() without disabling interrupts across the entire corresponding RCU read-side critical section. Unfortunately, the need to quickly provide a quiescent state to expedited grace periods sometimes requires a call to raise_softirq() during rcu_read_unlock() execution. Because raise_softirq() can sometimes acquire the scheduler spinlocks, the restriction must remain in effect. This commit therefore updates the RCU requirements documentation accordingly. Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
Diffstat (limited to 'Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html')
0 files changed, 0 insertions, 0 deletions