Jarek Poplawski wrote, On 02/15/2008 10:03 PM: ... > ...On the other hand this: > >> Feb 15 15:50:17 217.151.X.X [1521315.068984] BUG: spinlock lockup on CPU#1, >> ksoftirqd/1/7, f0551180 > > seems to point just at spinlock lockup, so it's more about the full report. > I wonder if this patch to prink could help here: > > author Ingo Molnar <mingo at elte.hu> > Fri, 25 Jan 2008 20:07:58 +0000 (21:07 +0100) > printk: make printk more robust by not allowing recursion > > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=32a76006683f7b28ae3cc491da37716e002f198e
...or maybe a patch like this attached here? Jarek P.
diff --git a/lib/spinlock_debug.c b/lib/spinlock_debug.c index 9c4b025..21c8aaa 100644 --- a/lib/spinlock_debug.c +++ b/lib/spinlock_debug.c @@ -111,8 +111,7 @@ static void __spin_lock_debug(spinlock_t *lock) __delay(1); } /* lockup suspected: */ - if (print_once) { - print_once = 0; + if (print_once == 1) { printk(KERN_EMERG "BUG: spinlock lockup on CPU#%d, " "%s/%d, %p\n", raw_smp_processor_id(), current->comm, @@ -122,7 +121,14 @@ static void __spin_lock_debug(spinlock_t *lock) trigger_all_cpu_backtrace(); #endif } + if (print_once++ > 1000) + goto out; } + return; +out: + panic("spinlock lockup panic #%llu\n", i); + // or: + // BUG(); } void _raw_spin_lock(spinlock_t *lock)