[patch] lock debugging: fix DEBUG_LOCKS_WARN_ON() & debug_locks_silent

From: Ingo Molnar
Date: Sat Dec 16 2006 - 03:08:15 EST



* Matthew Wilcox <matthew@xxxxxx> wrote:

> Moreover, do we want to get stack dumps while running the locking
> testsuite in the first place? From various comments, it looks like
> it's supposed to be turned off, but it looks like the sense of
> debug_locks_silent is inverted in the definition of
> DEBUG_LOCKS_WARN_ON:
>
> if (unlikely(c)) { \
> if (debug_locks_silent || debug_locks_off()) \
> WARN_ON(1); \
>
> Surely that should be:
>
> if (!debug_locks_silent && debug_locks_off())
> WARN_ON(1);

oops, indeed! Fix below.

Ingo

------------->
Subject: [patch] lock debugging: fix DEBUG_LOCKS_WARN_ON() & debug_locks_silent
From: Ingo Molnar <mingo@xxxxxxx>

Matthew Wilcox noticed that the debug_locks_silent use should be
inverted in DEBUG_LOCKS_WARN_ON(). This bug was causing spurious
stacktraces and incorrect failures in the locking self-test on the
parisc kernel.

Bug-found-by: Matthew Wilcox <matthew@xxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
include/linux/debug_locks.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux/include/linux/debug_locks.h
===================================================================
--- linux.orig/include/linux/debug_locks.h
+++ linux/include/linux/debug_locks.h
@@ -24,7 +24,7 @@ extern int debug_locks_off(void);
int __ret = 0; \
\
if (unlikely(c)) { \
- if (debug_locks_silent || debug_locks_off()) \
+ if (!debug_locks_silent && debug_locks_off()) \
WARN_ON(1); \
__ret = 1; \
} \
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/