Re: [patch] Real-Time Preemption, -RT-2.6.9-mm1-U10.2

From: Ingo Molnar
Date: Sat Oct 23 2004 - 07:52:22 EST



* Rui Nuno Capela <rncbc@xxxxxxxxx> wrote:

> > does the patch below help?

> Nope. Same result:

> SysRq : <3>BUG: sleeping function called from invalid context IRQ 1(776)
> at kernel/mutex.c:37
> in_atomic():0 [00000000], irqs_disabled():1

interrupts are disabled. You used a -RT-U10.2/3 kernel, and have
CONFIG_REALTIME enabled, right? Do you have this in
drivers/net/netconsole.c, line 77:

#ifdef PREEMPT_REALTIME
/*
* A bit hairy. Netconsole uses mutexes (indirectly) and
* thus must have interrupts enabled:
*/
local_irq_enable();
#endif

correct? Could you do this a few lines below:

WARN_ON_RT(irqs_disabled());
netpoll_send_udp(&np, msg, frag);
WARN_ON_RT(irqs_disabled());

to figure out who disables interrupts. Also, could you add the same two
lines to net/core/netpoll.c, line 83:

WARN_ON_RT(irqs_disabled());
np->dev->poll_controller(np->dev);
WARN_ON_RT(irqs_disabled());

and send me either the full bootlog, or the _first_ such BUG message
you'll be getting. Which network controller is this?

Ingo
-
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/