Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

rcu: Upgrade srcu_read_lock() docbook about SRCU grace periods

It is illegal to wait for an SRCU grace period while within the
corresponding flavor of SRCU read-side critical section. Therefore,
this commit updates the srcu_read_lock() docbook accordingly.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

+6 -1
+6 -1
include/linux/srcu.h
··· 139 139 * @sp: srcu_struct in which to register the new reader. 140 140 * 141 141 * Enter an SRCU read-side critical section. Note that SRCU read-side 142 - * critical sections may be nested. 142 + * critical sections may be nested. However, it is illegal to 143 + * call anything that waits on an SRCU grace period for the same 144 + * srcu_struct, whether directly or indirectly. Please note that 145 + * one way to indirectly wait on an SRCU grace period is to acquire 146 + * a mutex that is held elsewhere while calling synchronize_srcu() or 147 + * synchronize_srcu_expedited(). 143 148 */ 144 149 static inline int srcu_read_lock(struct srcu_struct *sp) __acquires(sp) 145 150 {