Re: [-rt BUG] scheduling with irqs disabled: swapper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 2006-05-28 at 08:40 +0200, Ingo Molnar wrote:
> * Steven Rostedt <[email protected]> wrote:
> 
> > Thanks, but I was looking more into the code, and I'm wondering... 
> > Does this machine have "irqfixup" or "irqpoll" set in the kernel 
> > command line?
> > 
> > I think that -rt doesn't support it yet.  That is, it can call a 
> > handler from interrupt context, which should have been a thread.
> > 
> > Let me know if that was the case.
> 
> the backtrace shows misrouted_irq(), which is only called if "irqfixup" 
> is enabled. That indeed isnt supported in -rt yet.

Ugh. You and Steven are right. We've been bitten by this a few times,
but we thought we got rid of that option on all of our boxes. I guess
one slipped by.

Anyway, thanks for pointing that out. Would you consider a patch like
the following so that folks don't continue to slip over this?

thanks
-john

Index: rtdev/kernel/irq/spurious.c
===================================================================
--- rtdev.orig/kernel/irq/spurious.c
+++ rtdev/kernel/irq/spurious.c
@@ -194,6 +194,11 @@ __setup("noirqdebug", noirqdebug_setup);
 
 static int __init irqfixup_setup(char *str)
 {
+#ifdef CONFIG_PREEMPT_RT
+	printk(KERN_WARNING "irqfixup boot option not supported "
+		"w/ CONFIG_PREEMT_RT\n");
+	return 1;
+#endif
 	irqfixup = 1;
 	printk(KERN_WARNING "Misrouted IRQ fixup support enabled.\n");
 	printk(KERN_WARNING "This may impact system performance.\n");
@@ -204,6 +209,11 @@ __setup("irqfixup", irqfixup_setup);
 
 static int __init irqpoll_setup(char *str)
 {
+#ifdef CONFIG_PREEMPT_RT
+	printk(KERN_WARNING "irqpoll boot option not supported "
+		"w/ CONFIG_PREEMT_RT\n");
+	return 1;
+#endif
 	irqfixup = 2;
 	printk(KERN_WARNING "Misrouted IRQ fixup and polling support "
 				"enabled\n");


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux