diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-08-16 10:50:54 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-08-20 09:00:15 -0700 |
commit | 73d4da4d360136826b36f78f5cf72b29da82c8a6 (patch) | |
tree | a60dbdf158a7d80598d1d18db981ad9edfc41bca | |
parent | 5cc6517abdeccb6690b344a43b5ce8eaee82da3c (diff) | |
download | op-kernel-dev-73d4da4d360136826b36f78f5cf72b29da82c8a6.zip op-kernel-dev-73d4da4d360136826b36f78f5cf72b29da82c8a6.tar.gz |
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>
-rw-r--r-- | include/linux/srcu.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/srcu.h b/include/linux/srcu.h index 6f456a7..58971e8 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) { |