[PATCH] lockdep: show more details about self-test failures
Make the locking self-test failures (of 'FAILURE' type) easier to debug by printing more information. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
50cc670aeb
commit
2ee91f197c
|
@ -24,7 +24,7 @@ extern int debug_locks_off(void);
|
||||||
int __ret = 0; \
|
int __ret = 0; \
|
||||||
\
|
\
|
||||||
if (unlikely(c)) { \
|
if (unlikely(c)) { \
|
||||||
if (debug_locks_off()) \
|
if (debug_locks_silent || debug_locks_off()) \
|
||||||
WARN_ON(1); \
|
WARN_ON(1); \
|
||||||
__ret = 1; \
|
__ret = 1; \
|
||||||
} \
|
} \
|
||||||
|
|
|
@ -77,6 +77,9 @@ void mutex_remove_waiter(struct mutex *lock, struct mutex_waiter *waiter,
|
||||||
|
|
||||||
void debug_mutex_unlock(struct mutex *lock)
|
void debug_mutex_unlock(struct mutex *lock)
|
||||||
{
|
{
|
||||||
|
if (unlikely(!debug_locks))
|
||||||
|
return;
|
||||||
|
|
||||||
DEBUG_LOCKS_WARN_ON(lock->owner != current_thread_info());
|
DEBUG_LOCKS_WARN_ON(lock->owner != current_thread_info());
|
||||||
DEBUG_LOCKS_WARN_ON(lock->magic != lock);
|
DEBUG_LOCKS_WARN_ON(lock->magic != lock);
|
||||||
DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next);
|
DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next);
|
||||||
|
|
|
@ -963,7 +963,9 @@ static void dotest(void (*testcase_fn)(void), int expected, int lockclass_mask)
|
||||||
printk("failed|");
|
printk("failed|");
|
||||||
} else {
|
} else {
|
||||||
unexpected_testcase_failures++;
|
unexpected_testcase_failures++;
|
||||||
|
|
||||||
printk("FAILED|");
|
printk("FAILED|");
|
||||||
|
dump_stack();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
testcase_successes++;
|
testcase_successes++;
|
||||||
|
|
Loading…
Reference in New Issue