diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2014-05-21 23:25:47 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2014-06-21 16:05:30 -0400 |
commit | 8930ed80f970a90a795239e7415c9b0e6f964649 (patch) | |
tree | 10463885f150543faaaf621e7ff85bbe6a81c911 /kernel/locking/rtmutex-debug.h | |
parent | c051b21f71d1ffdfd7ad406a1ef5ede5e5f974c5 (diff) |
rtmutex: Cleanup deadlock detector debug logic
The conditions under which deadlock detection is conducted are unclear
and undocumented.
Add constants instead of using 0/1 and provide a selection function
which hides the additional debug dependency from the calling code.
Add comments where needed.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Reviewed-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Link: http://lkml.kernel.org/r/20140522031949.947264874@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/locking/rtmutex-debug.h')
-rw-r--r-- | kernel/locking/rtmutex-debug.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/locking/rtmutex-debug.h b/kernel/locking/rtmutex-debug.h index ab29b6a22669..d0519c3432b6 100644 --- a/kernel/locking/rtmutex-debug.h +++ b/kernel/locking/rtmutex-debug.h | |||
@@ -20,14 +20,15 @@ extern void debug_rt_mutex_unlock(struct rt_mutex *lock); | |||
20 | extern void debug_rt_mutex_proxy_lock(struct rt_mutex *lock, | 20 | extern void debug_rt_mutex_proxy_lock(struct rt_mutex *lock, |
21 | struct task_struct *powner); | 21 | struct task_struct *powner); |
22 | extern void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock); | 22 | extern void debug_rt_mutex_proxy_unlock(struct rt_mutex *lock); |
23 | extern void debug_rt_mutex_deadlock(int detect, struct rt_mutex_waiter *waiter, | 23 | extern void debug_rt_mutex_deadlock(enum rtmutex_chainwalk chwalk, |
24 | struct rt_mutex_waiter *waiter, | ||
24 | struct rt_mutex *lock); | 25 | struct rt_mutex *lock); |
25 | extern void debug_rt_mutex_print_deadlock(struct rt_mutex_waiter *waiter); | 26 | extern void debug_rt_mutex_print_deadlock(struct rt_mutex_waiter *waiter); |
26 | # define debug_rt_mutex_reset_waiter(w) \ | 27 | # define debug_rt_mutex_reset_waiter(w) \ |
27 | do { (w)->deadlock_lock = NULL; } while (0) | 28 | do { (w)->deadlock_lock = NULL; } while (0) |
28 | 29 | ||
29 | static inline int debug_rt_mutex_detect_deadlock(struct rt_mutex_waiter *waiter, | 30 | static inline bool debug_rt_mutex_detect_deadlock(struct rt_mutex_waiter *waiter, |
30 | int detect) | 31 | enum rtmutex_chainwalk walk) |
31 | { | 32 | { |
32 | return (waiter != NULL); | 33 | return (waiter != NULL); |
33 | } | 34 | } |