public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: Olaf Dabrunz <od@suse.de>
To: Jon Masters <jcm@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
	Ingo Molnar <mingo@elte.hu>, Bjorn Helgaas <bjorn.helgaas@hp.com>,
	Stefan Assmann <sassmann@suse.de>, Len Brown <lenb@kernel.org>,
	Jesse Barnes <jbarnes@virtuousgeek.org>,
	Olaf Dabrunz <od@suse.de>, Thomas Gleixner <tglx@linutronix.de>,
	Steven Rostedt <rostedt@goodmis.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-acpi@vger.kernel.org, Sven Dietrich <sdietrich@novell.com>,
	"Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: PCI, ACPI, IRQ, IOAPIC: reroute PCI interrupt to legacy boot interrupt equivalent
Date: Thu, 15 Jan 2009 13:36:07 +0100	[thread overview]
Message-ID: <20090115123607.GS25512@suse.de> (raw)
In-Reply-To: <1231973760.23174.33.camel@londonpacket.bos.redhat.com>

On 14-Jan-09, Jon Masters wrote:
> On Wed, 2009-01-14 at 14:42 -0800, Eric W. Biederman wrote:
> > Jon Masters <jcm@redhat.com> writes:
> > 
> > > On Wed, 2009-01-14 at 12:40 +0100, Ingo Molnar wrote:
> > >
> > >> it's not just -rt, but it is also needed for the concept of threaded IRQ 
> > >> handlers - which was discussed at the Kernel Summit to be desired for 
> > >> mainline.
> > >
> > > Right. I'm poking at Thomas' patches and hope to post something soon on
> > > that front - I'm acutely aware that this will be impacted aswell but
> > > because it's vaguely RT related had banded it under that banner.
> > 
> > Stepping back a moment.  The only way I can see this working reliably
> > is if we disable the boot interrupt.  Anything that leaves the boot interrupt
> > enabled means that when we disable the primary interrupt the boot interrupt
> > will scream, and thus we must disable it as well.
> > 
> > Which leads to my problem with the entire development process of this feature.
> > 
> >  People want the feature.
> >  People don't want to pay attention to the limits of the hardware.
> >  Which leads to countless broken patches proposed.
> 
> Is a patch broken because hardware has limitations? If that were always
> true then many of the patches we see in the kernel wouldn't be there.
> 
> > Which leads me to conclude.
> > - IRQ handling in the RT kernel is hopelessly broken.
> 
> Nope. It's done in a very similar way to other real time kernels already
> out there - really there are only so many ways to do this.
> 
> > - IRQ threads are a bad idea.
> 
> Why? IRQ threads actually make life so much easier - you have a task
> context, you can do everything inside that rather than scheduling all
> kinds of deferred work (that in RT will be done in another task later),
> and so forth.
> 
> > None of this works reliably on level triggered ioapic irqs.

Actually it works very well. The patches are also not _that_
complicated. We have two kinds of patches:

    1) if possible on the chipset, disable boot irqs (if in APIC mode)

       - this works as designed and has no problems

       - we cover up for broken BIOSes here that forget to disable boot
         irqs

    2) if we cannot disable boot irqs, disable the original interrupt
       line and only use the boot irq line -> no duplicated interrupts,
       but increased interrupt sharing

       - this is a hack for older, but widely used chipsets

       - we cover up for broken hardware (wrt threaded IRQ handling)

       - when the broken hardware falls out of use, this is not needed
         anymore


The only limitations we have so far:

    - For newer chipsets, we have to make sure that we find the disable
      bit. Vendors should put this bit in a common place.

    - It is a lot of work to describe all of the findings and
      experimental results we had, in a digestable way.

> Level triggered IOAPIC IRQs have quirks, film at 11!

Love this. *grin* :)

-- 
Olaf Dabrunz (od/odabrunz), SUSE Linux Products GmbH, Nürnberg

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2009-01-15 12:36 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-09 23:03 PCI, ACPI, IRQ, IOAPIC: reroute PCI interrupt to legacy boot interrupt equivalent Len Brown
2009-01-12 11:09 ` Stefan Assmann
2009-01-12 11:37   ` Ingo Molnar
2009-01-12 18:51   ` Bjorn Helgaas
2009-01-12 19:25     ` Jon Masters
2009-01-12 19:45       ` Bjorn Helgaas
2009-01-13 13:32       ` Stefan Assmann
2009-01-13 18:22         ` Olaf Dabrunz
2009-01-15 15:34           ` Olaf Dabrunz
2009-01-12 23:36     ` Eric W. Biederman
2009-01-13  0:29       ` Jon Masters
2009-01-13  1:47         ` Ingo Molnar
2009-01-13  3:47           ` Eric W. Biederman
2009-01-13  4:26             ` Jon Masters
2009-01-14 11:40               ` Ingo Molnar
2009-01-14 19:18                 ` Jon Masters
2009-01-14 22:42                   ` Eric W. Biederman
2009-01-14 22:53                     ` Steven Rostedt
2009-01-14 22:56                     ` Jon Masters
2009-01-15 12:36                       ` Olaf Dabrunz [this message]
2009-01-15 10:16                     ` Stefan Assmann
2009-01-13 11:18     ` Stefan Assmann
2009-01-13 15:57       ` Olaf Dabrunz
2009-01-15  0:10         ` Bjorn Helgaas
2009-01-15 14:08           ` Stefan Assmann
2009-01-13  8:25   ` Shaohua Li
2009-01-14  9:57     ` Stefan Assmann
2009-01-14 15:48       ` Bjorn Helgaas
2009-01-14 15:55         ` Olaf Dabrunz
2009-01-14 16:52           ` Bjorn Helgaas

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=20090115123607.GS25512@suse.de \
    --to=od@suse.de \
    --cc=bjorn.helgaas@hp.com \
    --cc=ebiederm@xmission.com \
    --cc=jbarnes@virtuousgeek.org \
    --cc=jcm@redhat.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=macro@linux-mips.org \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    --cc=sassmann@suse.de \
    --cc=sdietrich@novell.com \
    --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