linux-sg2042/Documentation/RCU/Design/Requirements
Paul E. McKenney 97562c0181 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>
2018-11-12 08:56:25 -08:00
..
GPpartitionReaders1.svg documentation: Record RCU requirements 2015-12-05 12:19:07 -08:00
ReadersPartitionGP1.svg documentation: Record RCU requirements 2015-12-05 12:19:07 -08:00
Requirements.html doc: RCU scheduler spinlock rcu_read_unlock() restriction remains 2018-11-12 08:56:25 -08:00