summaryrefslogtreecommitdiff
path: root/include/linux/srcu.h
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-08-16 10:50:54 -0700
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-08-20 09:00:15 -0700
commit73d4da4d360136826b36f78f5cf72b29da82c8a6 (patch)
treea60dbdf158a7d80598d1d18db981ad9edfc41bca /include/linux/srcu.h
parent5cc6517abdeccb6690b344a43b5ce8eaee82da3c (diff)
downloadlwn-73d4da4d360136826b36f78f5cf72b29da82c8a6.tar.gz
lwn-73d4da4d360136826b36f78f5cf72b29da82c8a6.zip
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>
Diffstat (limited to 'include/linux/srcu.h')
-rw-r--r--include/linux/srcu.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/srcu.h b/include/linux/srcu.h
index 6f456a720ff0..58971e891f48 100644
--- a/include/linux/srcu.h
+++ b/include/linux/srcu.h
@@ -139,7 +139,12 @@ static inline int srcu_read_lock_held(struct srcu_struct *sp)
* @sp: srcu_struct in which to register the new reader.
*
* Enter an SRCU read-side critical section. Note that SRCU read-side
- * critical sections may be nested.
+ * critical sections may be nested. However, it is illegal to
+ * call anything that waits on an SRCU grace period for the same
+ * srcu_struct, whether directly or indirectly. Please note that
+ * one way to indirectly wait on an SRCU grace period is to acquire
+ * a mutex that is held elsewhere while calling synchronize_srcu() or
+ * synchronize_srcu_expedited().
*/
static inline int srcu_read_lock(struct srcu_struct *sp) __acquires(sp)
{