public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: john stultz <johnstul@us.ibm.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	mingo@redhat.com, lkml <linux-kernel@vger.kernel.org>
Subject: Re: [-rt BUG] scheduling with irqs disabled: swapper
Date: Mon, 29 May 2006 14:03:10 -0700	[thread overview]
Message-ID: <1148936590.30211.9.camel@leatherman> (raw)
In-Reply-To: <20060528064026.GA14665@elte.hu>

On Sun, 2006-05-28 at 08:40 +0200, Ingo Molnar wrote:
> * Steven Rostedt <rostedt@goodmis.org> 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");



  reply	other threads:[~2006-05-29 21:03 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-26 22:53 [-rt BUG] scheduling with irqs disabled: swapper john stultz
2006-05-27  1:14 ` Steven Rostedt
2006-05-28  0:13   ` john stultz
2006-05-28  1:13     ` Steven Rostedt
2006-05-28  6:40       ` Ingo Molnar
2006-05-29 21:03         ` john stultz [this message]
2006-05-30  6:16           ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1148936590.30211.9.camel@leatherman \
    --to=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox