diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-10-11 16:11:12 -0400 |
---|---|---|
committer | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-10-11 16:11:12 -0400 |
commit | 851a67b825540a8e00c0be3ee25e4627ba8b133b (patch) | |
tree | 07afd72ad74a392cb30cefcd01acdfd9b01282d3 /include/linux/lockdep.h | |
parent | 34a3d1e83708702ac6cb872215e68cd07dae298b (diff) |
lockdep: annotate rcu_read_{,un}lock{,_bh}
lockdep annotate rcu_read_{,un}lock{,_bh} in order to catch imbalanced
usage.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'include/linux/lockdep.h')
-rw-r--r-- | include/linux/lockdep.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index 9dc46db2985e..f6279f68a827 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h | |||
@@ -253,6 +253,13 @@ extern void lockdep_init_map(struct lockdep_map *lock, const char *name, | |||
253 | struct lock_class_key *key, int subclass); | 253 | struct lock_class_key *key, int subclass); |
254 | 254 | ||
255 | /* | 255 | /* |
256 | * To initialize a lockdep_map statically use this macro. | ||
257 | * Note that _name must not be NULL. | ||
258 | */ | ||
259 | #define STATIC_LOCKDEP_MAP_INIT(_name, _key) \ | ||
260 | { .name = (_name), .key = (void *)(_key), } | ||
261 | |||
262 | /* | ||
256 | * Reinitialize a lock key - for cases where there is special locking or | 263 | * Reinitialize a lock key - for cases where there is special locking or |
257 | * special initialization of locks so that the validator gets the scope | 264 | * special initialization of locks so that the validator gets the scope |
258 | * of dependencies wrong: they are either too broad (they need a class-split) | 265 | * of dependencies wrong: they are either too broad (they need a class-split) |