[PATCH 0/4] printk: Remove lockdep_off() and wakeups -v3

Peter Zijlstra
2011-06-21T15:40:38Z

Last iteration of the printk() rework which removes the lockdep_off() hackery
and removes the need for printk() to issue wakeups, thereby increasing
reliability from variuos contexts.

Patch 0b5e1c5255 from -tip needs to be reverted (or better dropped), due
us discovering why doing up() under logbuf_lock was important -- thanks
Andrew, Ingo!

This series was tested on a lockdep enabled kernel with the below hack
included, which generated a nice splat.

---
kernel/printk.c | 5 +++++
1 file changed, 5 insertions(+)

Index: linux-2.6/kernel/printk.c
===================================================================
--- linux-2.6.orig/kernel/printk.c
+++ linux-2.6/kernel/printk.c
@@ -930,6 +930,11 @@ asmlinkage int vprintk(const char *fmt,
spin_lock(&logbuf_lock);
printk_cpu = this_cpu;

+ if (panic_timeout) {
+ panic_timeout = 0;
+ local_irq_enable();
+ }
+
if (recursion_bug) {
recursion_bug = 0;
strcpy(printk_buf, recursion_bug_msg);