|
@@ -365,7 +365,7 @@ extern void lockdep_trace_alloc(gfp_t mask);
|
|
|
|
|
|
#define lockdep_recursing(tsk) ((tsk)->lockdep_recursion)
|
|
|
|
|
|
-#else /* !LOCKDEP */
|
|
|
+#else /* !CONFIG_LOCKDEP */
|
|
|
|
|
|
static inline void lockdep_off(void)
|
|
|
{
|
|
@@ -479,82 +479,36 @@ static inline void print_irqtrace_events(struct task_struct *curr)
|
|
|
* on the per lock-class debug mode:
|
|
|
*/
|
|
|
|
|
|
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
|
|
-# ifdef CONFIG_PROVE_LOCKING
|
|
|
-# define spin_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 2, NULL, i)
|
|
|
-# define spin_acquire_nest(l, s, t, n, i) lock_acquire(l, s, t, 0, 2, n, i)
|
|
|
-# else
|
|
|
-# define spin_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 1, NULL, i)
|
|
|
-# define spin_acquire_nest(l, s, t, n, i) lock_acquire(l, s, t, 0, 1, NULL, i)
|
|
|
-# endif
|
|
|
-# define spin_release(l, n, i) lock_release(l, n, i)
|
|
|
+#ifdef CONFIG_PROVE_LOCKING
|
|
|
+ #define lock_acquire_exclusive(l, s, t, n, i) lock_acquire(l, s, t, 0, 2, n, i)
|
|
|
+ #define lock_acquire_shared(l, s, t, n, i) lock_acquire(l, s, t, 1, 2, n, i)
|
|
|
+ #define lock_acquire_shared_recursive(l, s, t, n, i) lock_acquire(l, s, t, 2, 2, n, i)
|
|
|
#else
|
|
|
-# define spin_acquire(l, s, t, i) do { } while (0)
|
|
|
-# define spin_release(l, n, i) do { } while (0)
|
|
|
+ #define lock_acquire_exclusive(l, s, t, n, i) lock_acquire(l, s, t, 0, 1, n, i)
|
|
|
+ #define lock_acquire_shared(l, s, t, n, i) lock_acquire(l, s, t, 1, 1, n, i)
|
|
|
+ #define lock_acquire_shared_recursive(l, s, t, n, i) lock_acquire(l, s, t, 2, 1, n, i)
|
|
|
#endif
|
|
|
|
|
|
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
|
|
-# ifdef CONFIG_PROVE_LOCKING
|
|
|
-# define rwlock_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 2, NULL, i)
|
|
|
-# define rwlock_acquire_read(l, s, t, i) lock_acquire(l, s, t, 2, 2, NULL, i)
|
|
|
-# else
|
|
|
-# define rwlock_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 1, NULL, i)
|
|
|
-# define rwlock_acquire_read(l, s, t, i) lock_acquire(l, s, t, 2, 1, NULL, i)
|
|
|
-# endif
|
|
|
-# define rwlock_release(l, n, i) lock_release(l, n, i)
|
|
|
-#else
|
|
|
-# define rwlock_acquire(l, s, t, i) do { } while (0)
|
|
|
-# define rwlock_acquire_read(l, s, t, i) do { } while (0)
|
|
|
-# define rwlock_release(l, n, i) do { } while (0)
|
|
|
-#endif
|
|
|
+#define spin_acquire(l, s, t, i) lock_acquire_exclusive(l, s, t, NULL, i)
|
|
|
+#define spin_acquire_nest(l, s, t, n, i) lock_acquire_exclusive(l, s, t, n, i)
|
|
|
+#define spin_release(l, n, i) lock_release(l, n, i)
|
|
|
|
|
|
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
|
|
-# ifdef CONFIG_PROVE_LOCKING
|
|
|
-# define mutex_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 2, NULL, i)
|
|
|
-# define mutex_acquire_nest(l, s, t, n, i) lock_acquire(l, s, t, 0, 2, n, i)
|
|
|
-# else
|
|
|
-# define mutex_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 1, NULL, i)
|
|
|
-# define mutex_acquire_nest(l, s, t, n, i) lock_acquire(l, s, t, 0, 1, n, i)
|
|
|
-# endif
|
|
|
-# define mutex_release(l, n, i) lock_release(l, n, i)
|
|
|
-#else
|
|
|
-# define mutex_acquire(l, s, t, i) do { } while (0)
|
|
|
-# define mutex_acquire_nest(l, s, t, n, i) do { } while (0)
|
|
|
-# define mutex_release(l, n, i) do { } while (0)
|
|
|
-#endif
|
|
|
+#define rwlock_acquire(l, s, t, i) lock_acquire_exclusive(l, s, t, NULL, i)
|
|
|
+#define rwlock_acquire_read(l, s, t, i) lock_acquire_shared_recursive(l, s, t, NULL, i)
|
|
|
+#define rwlock_release(l, n, i) lock_release(l, n, i)
|
|
|
|
|
|
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
|
|
-# ifdef CONFIG_PROVE_LOCKING
|
|
|
-# define rwsem_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 2, NULL, i)
|
|
|
-# define rwsem_acquire_nest(l, s, t, n, i) lock_acquire(l, s, t, 0, 2, n, i)
|
|
|
-# define rwsem_acquire_read(l, s, t, i) lock_acquire(l, s, t, 1, 2, NULL, i)
|
|
|
-# else
|
|
|
-# define rwsem_acquire(l, s, t, i) lock_acquire(l, s, t, 0, 1, NULL, i)
|
|
|
-# define rwsem_acquire_nest(l, s, t, n, i) lock_acquire(l, s, t, 0, 1, n, i)
|
|
|
-# define rwsem_acquire_read(l, s, t, i) lock_acquire(l, s, t, 1, 1, NULL, i)
|
|
|
-# endif
|
|
|
+#define mutex_acquire(l, s, t, i) lock_acquire_exclusive(l, s, t, NULL, i)
|
|
|
+#define mutex_acquire_nest(l, s, t, n, i) lock_acquire_exclusive(l, s, t, n, i)
|
|
|
+#define mutex_release(l, n, i) lock_release(l, n, i)
|
|
|
+
|
|
|
+#define rwsem_acquire(l, s, t, i) lock_acquire_exclusive(l, s, t, NULL, i)
|
|
|
+#define rwsem_acquire_nest(l, s, t, n, i) lock_acquire_exclusive(l, s, t, n, i)
|
|
|
+#define rwsem_acquire_read(l, s, t, i) lock_acquire_shared(l, s, t, NULL, i)
|
|
|
# define rwsem_release(l, n, i) lock_release(l, n, i)
|
|
|
-#else
|
|
|
-# define rwsem_acquire(l, s, t, i) do { } while (0)
|
|
|
-# define rwsem_acquire_nest(l, s, t, n, i) do { } while (0)
|
|
|
-# define rwsem_acquire_read(l, s, t, i) do { } while (0)
|
|
|
-# define rwsem_release(l, n, i) do { } while (0)
|
|
|
-#endif
|
|
|
|
|
|
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
|
|
-# ifdef CONFIG_PROVE_LOCKING
|
|
|
-# define lock_map_acquire(l) lock_acquire(l, 0, 0, 0, 2, NULL, _THIS_IP_)
|
|
|
-# define lock_map_acquire_read(l) lock_acquire(l, 0, 0, 2, 2, NULL, _THIS_IP_)
|
|
|
-# else
|
|
|
-# define lock_map_acquire(l) lock_acquire(l, 0, 0, 0, 1, NULL, _THIS_IP_)
|
|
|
-# define lock_map_acquire_read(l) lock_acquire(l, 0, 0, 2, 1, NULL, _THIS_IP_)
|
|
|
-# endif
|
|
|
+#define lock_map_acquire(l) lock_acquire_exclusive(l, 0, 0, NULL, _THIS_IP_)
|
|
|
+#define lock_map_acquire_read(l) lock_acquire_shared_recursive(l, 0, 0, NULL, _THIS_IP_)
|
|
|
# define lock_map_release(l) lock_release(l, 1, _THIS_IP_)
|
|
|
-#else
|
|
|
-# define lock_map_acquire(l) do { } while (0)
|
|
|
-# define lock_map_acquire_read(l) do { } while (0)
|
|
|
-# define lock_map_release(l) do { } while (0)
|
|
|
-#endif
|
|
|
|
|
|
#ifdef CONFIG_PROVE_LOCKING
|
|
|
# define might_lock(lock) \
|