diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-02-22 20:04:46 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-02-25 03:41:00 -0500 |
commit | c26d34a5858f96a564c45048bf5f09319d2abad1 (patch) | |
tree | 644941c0005b8ecda4f5af3fd9f9c385f911f146 /include/linux/srcu.h | |
parent | 632ee200130899252508c478ad0e808222573fbc (diff) |
rcu: Add lockdep-enabled variants of rcu_dereference()
Make rcu_dereference() check for being in an RCU read-side
critical section, and create rcu_dereference_bh(),
rcu_dereference_sched(), and srcu_dereference() to check for the
other flavors of RCU. Also create rcu_dereference_raw() to
avoid checking, and make rcu_dereference_check() use
rcu_dereference_raw().
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
LKML-Reference: <1266887105-1528-2-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/srcu.h')
-rw-r--r-- | include/linux/srcu.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/srcu.h b/include/linux/srcu.h index adbe1670b366..3084f80909cd 100644 --- a/include/linux/srcu.h +++ b/include/linux/srcu.h | |||
@@ -106,6 +106,14 @@ static inline int srcu_read_lock_held(struct srcu_struct *sp) | |||
106 | #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */ | 106 | #endif /* #else #ifdef CONFIG_DEBUG_LOCK_ALLOC */ |
107 | 107 | ||
108 | /** | 108 | /** |
109 | * srcu_dereference - fetch SRCU-protected pointer with checking | ||
110 | * | ||
111 | * Makes rcu_dereference_check() do the dirty work. | ||
112 | */ | ||
113 | #define srcu_dereference(p, sp) \ | ||
114 | rcu_dereference_check(p, srcu_read_lock_held(sp)) | ||
115 | |||
116 | /** | ||
109 | * srcu_read_lock - register a new reader for an SRCU-protected structure. | 117 | * srcu_read_lock - register a new reader for an SRCU-protected structure. |
110 | * @sp: srcu_struct in which to register the new reader. | 118 | * @sp: srcu_struct in which to register the new reader. |
111 | * | 119 | * |