diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2006-10-11 01:45:14 -0400 |
---|---|---|
committer | Dmitry Torokhov <dtor@insightbb.com> | 2006-10-11 01:45:14 -0400 |
commit | 4dfbb9d8c6cbfc32faa5c71145bd2a43e1f8237c (patch) | |
tree | a4fefea0d5f5930240f4ecd6f9716a029cc927a9 /lib | |
parent | 86255d9d0bede79140f4912482447963f00818c0 (diff) |
Lockdep: add lockdep_set_class_and_subclass() and lockdep_set_subclass()
This annotation makes it possible to assign a subclass on lock init. This
annotation is meant to reduce the _nested() annotations by assigning a
default subclass.
One could do without this annotation and rely on lockdep_set_class()
exclusively, but that would require a manual stack of struct lock_class_key
objects.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rwsem-spinlock.c | 2 | ||||
-rw-r--r-- | lib/rwsem.c | 2 | ||||
-rw-r--r-- | lib/spinlock_debug.c | 4 |
3 files changed, 4 insertions, 4 deletions
diff --git a/lib/rwsem-spinlock.c b/lib/rwsem-spinlock.c index db4fed74b940..c4cfd6c0342f 100644 --- a/lib/rwsem-spinlock.c +++ b/lib/rwsem-spinlock.c | |||
@@ -28,7 +28,7 @@ void __init_rwsem(struct rw_semaphore *sem, const char *name, | |||
28 | * Make sure we are not reinitializing a held semaphore: | 28 | * Make sure we are not reinitializing a held semaphore: |
29 | */ | 29 | */ |
30 | debug_check_no_locks_freed((void *)sem, sizeof(*sem)); | 30 | debug_check_no_locks_freed((void *)sem, sizeof(*sem)); |
31 | lockdep_init_map(&sem->dep_map, name, key); | 31 | lockdep_init_map(&sem->dep_map, name, key, 0); |
32 | #endif | 32 | #endif |
33 | sem->activity = 0; | 33 | sem->activity = 0; |
34 | spin_lock_init(&sem->wait_lock); | 34 | spin_lock_init(&sem->wait_lock); |
diff --git a/lib/rwsem.c b/lib/rwsem.c index 901d0e7da892..cdb4e3d05607 100644 --- a/lib/rwsem.c +++ b/lib/rwsem.c | |||
@@ -19,7 +19,7 @@ void __init_rwsem(struct rw_semaphore *sem, const char *name, | |||
19 | * Make sure we are not reinitializing a held semaphore: | 19 | * Make sure we are not reinitializing a held semaphore: |
20 | */ | 20 | */ |
21 | debug_check_no_locks_freed((void *)sem, sizeof(*sem)); | 21 | debug_check_no_locks_freed((void *)sem, sizeof(*sem)); |
22 | lockdep_init_map(&sem->dep_map, name, key); | 22 | lockdep_init_map(&sem->dep_map, name, key, 0); |
23 | #endif | 23 | #endif |
24 | sem->count = RWSEM_UNLOCKED_VALUE; | 24 | sem->count = RWSEM_UNLOCKED_VALUE; |
25 | spin_lock_init(&sem->wait_lock); | 25 | spin_lock_init(&sem->wait_lock); |
diff --git a/lib/spinlock_debug.c b/lib/spinlock_debug.c index dafaf1de2491..b6c4f898197c 100644 --- a/lib/spinlock_debug.c +++ b/lib/spinlock_debug.c | |||
@@ -20,7 +20,7 @@ void __spin_lock_init(spinlock_t *lock, const char *name, | |||
20 | * Make sure we are not reinitializing a held lock: | 20 | * Make sure we are not reinitializing a held lock: |
21 | */ | 21 | */ |
22 | debug_check_no_locks_freed((void *)lock, sizeof(*lock)); | 22 | debug_check_no_locks_freed((void *)lock, sizeof(*lock)); |
23 | lockdep_init_map(&lock->dep_map, name, key); | 23 | lockdep_init_map(&lock->dep_map, name, key, 0); |
24 | #endif | 24 | #endif |
25 | lock->raw_lock = (raw_spinlock_t)__RAW_SPIN_LOCK_UNLOCKED; | 25 | lock->raw_lock = (raw_spinlock_t)__RAW_SPIN_LOCK_UNLOCKED; |
26 | lock->magic = SPINLOCK_MAGIC; | 26 | lock->magic = SPINLOCK_MAGIC; |
@@ -38,7 +38,7 @@ void __rwlock_init(rwlock_t *lock, const char *name, | |||
38 | * Make sure we are not reinitializing a held lock: | 38 | * Make sure we are not reinitializing a held lock: |
39 | */ | 39 | */ |
40 | debug_check_no_locks_freed((void *)lock, sizeof(*lock)); | 40 | debug_check_no_locks_freed((void *)lock, sizeof(*lock)); |
41 | lockdep_init_map(&lock->dep_map, name, key); | 41 | lockdep_init_map(&lock->dep_map, name, key, 0); |
42 | #endif | 42 | #endif |
43 | lock->raw_lock = (raw_rwlock_t) __RAW_RW_LOCK_UNLOCKED; | 43 | lock->raw_lock = (raw_rwlock_t) __RAW_RW_LOCK_UNLOCKED; |
44 | lock->magic = RWLOCK_MAGIC; | 44 | lock->magic = RWLOCK_MAGIC; |