diff options
Diffstat (limited to 'include/linux/debug_locks.h')
-rw-r--r-- | include/linux/debug_locks.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/include/linux/debug_locks.h b/include/linux/debug_locks.h index 257ab3c92cb8..dbb409d77d4f 100644 --- a/include/linux/debug_locks.h +++ b/include/linux/debug_locks.h @@ -2,9 +2,8 @@ #ifndef __LINUX_DEBUG_LOCKING_H #define __LINUX_DEBUG_LOCKING_H -#include <linux/kernel.h> #include <linux/atomic.h> -#include <linux/bug.h> +#include <linux/cache.h> struct task_struct; @@ -12,7 +11,7 @@ extern int debug_locks __read_mostly; extern int debug_locks_silent __read_mostly; -static inline int __debug_locks_off(void) +static __always_inline int __debug_locks_off(void) { return xchg(&debug_locks, 0); } @@ -27,8 +26,10 @@ extern int debug_locks_off(void); int __ret = 0; \ \ if (!oops_in_progress && unlikely(c)) { \ + instrumentation_begin(); \ if (debug_locks_off() && !debug_locks_silent) \ WARN(1, "DEBUG_LOCKS_WARN_ON(%s)", #c); \ + instrumentation_end(); \ __ret = 1; \ } \ __ret; \ @@ -46,8 +47,6 @@ extern int debug_locks_off(void); # define locking_selftest() do { } while (0) #endif -struct task_struct; - #ifdef CONFIG_LOCKDEP extern void debug_show_all_locks(void); extern void debug_show_held_locks(struct task_struct *task); |