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

From: Ingo Molnar
Date: Tue Dec 19 2006 - 04:34:40 EST



* Jarek Poplawski <jarkao2@xxxxx> wrote:

> > if (unlikely(c)) { \
> > - if (debug_locks_silent || debug_locks_off()) \
> > + if (!debug_locks_silent && debug_locks_off()) \

btw., updated patch is below - the right order is to first do
debug_locks_off(), then debug_locks_silent.

[ btw., could you fix your mailer so that a reply to your mails doesnt
put all participants into the 'To:' line? You can do it via adding
"unset followup_to" to your $HOME/.muttrc file. ]

------------->
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_off() && !debug_locks_silent) \
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/