[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 6 Jun 2011 15:10:24 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Arne Jansen <lists@...-jansens.de>
Cc: Peter Zijlstra <peterz@...radead.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
mingo@...hat.com, hpa@...or.com, linux-kernel@...r.kernel.org,
efault@....de, npiggin@...nel.dk, akpm@...ux-foundation.org,
frank.rowand@...sony.com, tglx@...utronix.de,
linux-tip-commits@...r.kernel.org
Subject: Re: [debug patch] printk: Add a printk killswitch to robustify NMI
watchdog messages
* Ingo Molnar <mingo@...e.hu> wrote:
> So some essential piece of the puzzle is still missing.
Oh. I think the essential piece of the puzzle might be this code in
printk():
asmlinkage int vprintk(const char *fmt, va_list args)
{
...
lockdep_off();
if (console_trylock_for_printk(this_cpu))
console_unlock();
lockdep_on();
...
So while i right now do not see how this (ancient) piece of logic
causes trouble, could you try the patch below, does it make the
WARN()+lockup go away?
Thanks,
Ingo
diff --git a/kernel/printk.c b/kernel/printk.c
index 3518539..1b9d2be 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -859,7 +859,6 @@ asmlinkage int vprintk(const char *fmt, va_list args)
zap_locks();
}
- lockdep_off();
spin_lock(&logbuf_lock);
printk_cpu = this_cpu;
@@ -947,7 +946,7 @@ asmlinkage int vprintk(const char *fmt, va_list args)
* Try to acquire and then immediately release the
* console semaphore. The release will do all the
* actual magic (print out buffers, wake up klogd,
- * etc).
+ * etc).
*
* The console_trylock_for_printk() function
* will release 'logbuf_lock' regardless of whether it
@@ -956,7 +955,6 @@ asmlinkage int vprintk(const char *fmt, va_list args)
if (console_trylock_for_printk(this_cpu))
console_unlock();
- lockdep_on();
out_restore_irqs:
raw_local_irq_restore(flags);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists