From 693e20c25f540d9cd4e3a3b8ca2e8e6bcd2b8aa2 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 6 Dec 2006 20:39:32 -0800 Subject: [PATCH] --- yaml --- r: 42917 b: refs/heads/master c: 2ee91f197c0bc654b24eed5831fd12aa0d566a7d h: refs/heads/master i: 42915: 9e18ea9b0be358ed34e9a2f59d2ca37fbb3ebf0d v: v3 --- [refs] | 2 +- trunk/include/linux/debug_locks.h | 2 +- trunk/kernel/mutex-debug.c | 3 +++ trunk/lib/locking-selftest.c | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e4bb9e2087e8..8beb8754d014 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 50cc670aebf4fc64afaf533fb9fa1c8570f09d74 +refs/heads/master: 2ee91f197c0bc654b24eed5831fd12aa0d566a7d diff --git a/trunk/include/linux/debug_locks.h b/trunk/include/linux/debug_locks.h index 952bee79a8f3..a1c10b0c4cf0 100644 --- a/trunk/include/linux/debug_locks.h +++ b/trunk/include/linux/debug_locks.h @@ -24,7 +24,7 @@ extern int debug_locks_off(void); int __ret = 0; \ \ if (unlikely(c)) { \ - if (debug_locks_off()) \ + if (debug_locks_silent || debug_locks_off()) \ WARN_ON(1); \ __ret = 1; \ } \ diff --git a/trunk/kernel/mutex-debug.c b/trunk/kernel/mutex-debug.c index 18651641a7b5..841539d72c55 100644 --- a/trunk/kernel/mutex-debug.c +++ b/trunk/kernel/mutex-debug.c @@ -77,6 +77,9 @@ void mutex_remove_waiter(struct mutex *lock, struct mutex_waiter *waiter, 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->magic != lock); DEBUG_LOCKS_WARN_ON(!lock->wait_list.prev && !lock->wait_list.next); diff --git a/trunk/lib/locking-selftest.c b/trunk/lib/locking-selftest.c index 7945787f439a..280332c1827c 100644 --- a/trunk/lib/locking-selftest.c +++ b/trunk/lib/locking-selftest.c @@ -963,7 +963,9 @@ static void dotest(void (*testcase_fn)(void), int expected, int lockclass_mask) printk("failed|"); } else { unexpected_testcase_failures++; + printk("FAILED|"); + dump_stack(); } } else { testcase_successes++;