Re: rt20 patch question

From: Steven Rostedt
Date: Thu May 11 2006 - 08:01:29 EST


On Thu, 11 May 2006, Mark Hounschell wrote:

> Mark Hounschell wrote:
>
> This is with frame pointers on but doesn't look any more revealing to
> me. After this one my network connection into the emulation was broken
> BTW. And yes hard and soft irqs are threaded, preemptable-kernel, and
> classic RCU
>
> BUG: scheduling while atomic: softirq-timer/1/0x00000100/15
> caller is schedule+0x33/0xf0
> [<b01041c9>] show_trace+0xd/0xf (8)
> [<b01041e2>] dump_stack+0x17/0x19 (12)
> [<b03112ec>] __schedule+0x517/0x95b (96)
> [<b031188f>] schedule+0x33/0xf0 (28)
> [<b014381f>] synchronize_irq+0x94/0xb9 (40)
> [<b0143943>] disable_irq+0x31/0x35 (16)
> [<f0a12715>] vortex_timer+0xa1/0x55b [3c59x] (72)
> [<b01261d5>] run_timer_softirq+0x1ce/0x3de (56)
> [<b012212c>] ksoftirqd+0x110/0x1cb (60)
> [<b012f851>] kthread+0xc8/0xcc (32)
> [<b0100e15>] kernel_thread_helper+0x5/0xb (268935196)

Nope, this trace is _a_lot_ better, the previous trace had a lot of
garbage in it.

Anyway, I already figured out the problem from the last dump. Could you
try the patch below to see if it fixes it.

>
> I hope it was OK to add Ingo to the CC list?
>

Yep, that's fine, in fact, he should have been added.

Try this patch to see if it fixes that bug.

-- Steve

Index: linux-2.6.16-rt20/kernel/sched.c
===================================================================
--- linux-2.6.16-rt20.orig/kernel/sched.c 2006-05-10 16:23:15.000000000 -0400
+++ linux-2.6.16-rt20/kernel/sched.c 2006-05-10 16:28:31.000000000 -0400
@@ -3316,7 +3316,8 @@ void __sched __schedule(void)
/*
* Test if we are atomic.
*/
- if (unlikely(in_atomic())) {
+ if (unlikely(in_atomic()) &&
+ (!hardirq_preemption || (preempt_count() & PREEMPT_MASK))) {
stop_trace();
printk(KERN_ERR "BUG: scheduling while atomic: "
"%s/0x%08x/%d\n",
-
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/