linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Assmann <sassmann@suse.de>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Jon Masters <jcm@redhat.com>, Ingo Molnar <mingo@elte.hu>,
	Bjorn Helgaas <bjorn.helgaas@hp.com>, 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 11:16:34 +0100	[thread overview]
Message-ID: <496F0D02.1090402@suse.de> (raw)
In-Reply-To: <m11vv5wlug.fsf@frodo.ebiederm.org>

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.

Disabling Boot Interrupts is our goal, if they don't appear everything
is fine. Now if you take a closer look at United States Patent 6466998
you can read that there has to be a way to disable Boot Interrupts on
APIC aware OSes.

Let me back this up with a quote from that patent:
"Therefore, 8259 PIC may be incorporated into a system board along with
the APIC system to ensure proper operation of an operating system (OS)
regardless whether such an operating system (OS) may or may not support
an APIC system. However, external logic devices are required to route
particular interrupts from a non-legacy peripheral bus to the 8259 PIC.
General purpose I/O pins are then needed to enable/disable this
functionality once an operating system (OS) which understands the APIC
system is loaded."

We already managed to successfully disable Boot Interrupt generation on
several chipsets. See the following posts:

http://lkml.org/lkml/2008/7/8/213
http://lkml.org/lkml/2008/7/8/215
http://lkml.org/lkml/2008/6/2/270

What makes things complicated is that we have to deal with buggy
hardware which can't disable the generation of Boot Interrupts, that's
why we introduced the reroute to legacy interrupt patch.

> 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.

Sorry if you feel that way, really trying to pay attention to
hardware limitations here. I bet you have a lot more experience in this
field than I have, so please let me know what technical reasons you
see for this being a dead end.

> Which leads me to conclude.
> - IRQ handling in the RT kernel is hopelessly broken.
> - IRQ threads are a bad idea.
> 
> Because it is all leading to stupid patches and stupid development.
> 
> None of this works reliably on level triggered ioapic irqs.

We're trying really hard to make it work reliably, but this is a
complicated matter and it sure needs a lot of research.

> 
> Eric

  Stefan

-- 
Stefan Assmann          | SUSE LINUX Products GmbH
Software Engineer       | Maxfeldstr. 5, D-90409 Nuernberg
Mail: sassmann@suse.de  | GF: Markus Rex, HRB 16746 (AG Nuernberg)

  parent reply	other threads:[~2009-01-15 10:16 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
2009-01-15 10:16                     ` Stefan Assmann [this message]
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=496F0D02.1090402@suse.de \
    --to=sassmann@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=od@suse.de \
    --cc=rostedt@goodmis.org \
    --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;
as well as URLs for NNTP newsgroup(s).