All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	bugme-daemon@bugzilla.kernel.org, j_kernel@hoblitt.com
Subject: Re: [Bugme-new] [Bug 11543] New: kernel panic: softlockup in tick_periodic() ???
Date: Fri, 12 Sep 2008 11:13:08 +0200	[thread overview]
Message-ID: <20080912091308.GA10305@elte.hu> (raw)
In-Reply-To: <20080911170258.aa0bea0d.akpm@linux-foundation.org>


* Andrew Morton <akpm@linux-foundation.org> wrote:

> I can't work out who called panic(), nor why.
> 
> The panic code called the kexec code which called mutex_trylock() 
> which called spin_lock_mutex() which then stupidly went and blurted a 
> load of debug stuff because of in_interrupt().

agreed - applied your fix in the form below to tip/master - thanks 
Andrew.

J, you might want to try tip/master, it includes all known fixes for 
this area and this debug improvement as well. You can pick it up via:

  http://people.redhat.com/mingo/tip.git/README

	Ingo

---------->
>From 53b9d87f41a3d8838210ad7cdef02d814817ce85 Mon Sep 17 00:00:00 2001
From: Andrew Morton <akpm@linux-foundation.org>
Date: Thu, 11 Sep 2008 17:02:58 -0700
Subject: [PATCH] lock debug: sit tight when we are already in a panic

in:

  > http://bugzilla.kernel.org/show_bug.cgi?id=11543

The panic code called the kexec code which called mutex_trylock() which
called spin_lock_mutex() which then stupidly went and blurted a load of
debug stuff because of in_interrupt().

Keep the lock debug code from escallating an already crappy situation.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 include/linux/debug_locks.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/linux/debug_locks.h b/include/linux/debug_locks.h
index 4aaa4af..096476f 100644
--- a/include/linux/debug_locks.h
+++ b/include/linux/debug_locks.h
@@ -17,7 +17,7 @@ extern int debug_locks_off(void);
 ({									\
 	int __ret = 0;							\
 									\
-	if (unlikely(c)) {						\
+	if (!oops_in_progress && unlikely(c)) {				\
 		if (debug_locks_off() && !debug_locks_silent)		\
 			WARN_ON(1);					\
 		__ret = 1;						\

  parent reply	other threads:[~2008-09-12  9:13 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-11543-10286@http.bugzilla.kernel.org/>
2008-09-12  0:02 ` [Bugme-new] [Bug 11543] New: kernel panic: softlockup in tick_periodic() ??? Andrew Morton
2008-09-12  2:54   ` j_kernel
2008-09-12  2:57     ` Andrew Morton
2008-09-12  9:13   ` Ingo Molnar [this message]
2008-09-13  0:13     ` Joshua Hoblitt
2008-09-15 21:06       ` Joshua Hoblitt
2008-09-16  2:54         ` Joshua Hoblitt
2008-09-16 14:14           ` Thomas Gleixner
2008-09-16 17:56             ` Cyrill Gorcunov
2008-09-16 17:57               ` Cyrill Gorcunov
2008-09-17  2:43 j_kernel
2008-09-17  7:13 ` Cyrill Gorcunov
2008-09-17  9:20   ` j_kernel
2008-09-17  9:38     ` Cyrill Gorcunov
2008-09-17 12:59     ` Cyrill Gorcunov
2008-09-17 13:13       ` Ingo Molnar
2008-09-17 13:29         ` Cyrill Gorcunov
2008-09-17 16:27     ` Cyrill Gorcunov
2008-09-17 20:48       ` j_kernel
2008-09-18  7:09         ` Cyrill Gorcunov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080912091308.GA10305@elte.hu \
    --to=mingo@elte.hu \
    --cc=akpm@linux-foundation.org \
    --cc=bugme-daemon@bugzilla.kernel.org \
    --cc=j_kernel@hoblitt.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.