diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2013-11-07 18:19:15 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2013-11-07 18:19:15 -0500 |
commit | 1a0b5b4ac092a1874ffcf6e3a861af2a59ad7d4a (patch) | |
tree | 288d35e6af8f14dc0b96d805ff340132b95e59d7 /litmus/ikglp_lock.c | |
parent | 26e7d7eb3353426e6b4e3ddf989eae59580416bc (diff) |
Update/cleanup lockdep to support nested locks
This patch modifies lockdep to support nested locking
protocols--specifically allow keys allocated in dynamic
memory. We need to allow spinlocks to be acquired in a
nested fashion without triggering complaints from
lockdep. This is needed to support chained/transitive
priority inheritance.
Diffstat (limited to 'litmus/ikglp_lock.c')
-rw-r--r-- | litmus/ikglp_lock.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/litmus/ikglp_lock.c b/litmus/ikglp_lock.c index bb7771a0f3a2..6f6090591c58 100644 --- a/litmus/ikglp_lock.c +++ b/litmus/ikglp_lock.c | |||
@@ -1888,15 +1888,8 @@ struct litmus_lock* ikglp_new(unsigned int m, | |||
1888 | sem->litmus_lock.ops = ops; | 1888 | sem->litmus_lock.ops = ops; |
1889 | // sem->litmus_lock.proc = &ikglp_proc_ops; | 1889 | // sem->litmus_lock.proc = &ikglp_proc_ops; |
1890 | 1890 | ||
1891 | #ifdef CONFIG_DEBUG_SPINLOCK | ||
1892 | { | ||
1893 | __raw_spin_lock_init(&sem->lock, | ||
1894 | ((struct litmus_lock*)sem)->cheat_lockdep, | ||
1895 | &((struct litmus_lock*)sem)->key); | ||
1896 | } | ||
1897 | #else | ||
1898 | raw_spin_lock_init(&sem->lock); | 1891 | raw_spin_lock_init(&sem->lock); |
1899 | #endif | 1892 | LOCKDEP_DYNAMIC_ALLOC(sem, &sem->lock); |
1900 | 1893 | ||
1901 | raw_spin_lock_init(&sem->real_lock); | 1894 | raw_spin_lock_init(&sem->real_lock); |
1902 | 1895 | ||