linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: sean.v.kelley@linux.intel.com, Kar Hin Ong <kar.hin.ong@ni.com>,
	Bjorn Helgaas <helgaas@kernel.org>
Cc: linux-rt-users <linux-rt-users@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"x86\@kernel.org" <x86@kernel.org>,
	"linux-pci\@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Julia Cartwright <julia.cartwright@ni.com>,
	Keng Soon Cheah <keng.soon.cheah@ni.com>,
	Gratian Crisan <gratian.crisan@ni.com>,
	Peter Zijlstra <peterz@infradead.org>
Subject: Re: RE: Re: "oneshot" interrupt causes another interrupt to be fired erroneously in Haswell system
Date: Thu, 23 Jan 2020 14:08:54 +0100	[thread overview]
Message-ID: <87muaetj4p.fsf@nanos.tec.linutronix.de> (raw)
In-Reply-To: <8f1e5981b519acb5edf53b5392c81ef7cbf6a3eb.camel@linux.intel.com>

Sean,

Sean V Kelley <sean.v.kelley@linux.intel.com> writes:
> I looked into it Thomas.  The issue is as you suggested early in the
> thread.  If an IRQ arrives at line N of a non-primary IO-APIC and that
> line is masked, a new IRQ is generated on the primary IO-APIC/PIC.  
>
> The BIOS setting to address this forwarding is as above Disable INTx
> Route to PCH/ICH/SouthBridge. When this bit is set, local INTx messages
> received from the PCI-E ports are not routed to legacy PCH - they are
> either converted into MSI via the integrated I/OxAPIC (if the I/OxAPIC
> mask bit is clear in the appropriate entries) or cause no further
> action (when mask bit is set).
>
> This capability is tested and supported fully on Intel platforms.

Thanks for the confirmation.

> Once you get to SKX/CLX things change and integrated IOxAPICs in the
> IIO module convert legacy PCI Express interrupt messages into MSI
> interrupts directly.  Beyond SKX/CLX there are no longer IOxAPICs in
> IIO. IOxAPIC is only in the PCH. Devices connected to the
> IIO will use native MSI/MSI-x mechanisms.
>
> The problem is with the absolute lack of useful documentation.  That’s
> not acceptable.

Yeah.

> You recall the work Olaf and Stefan did at SuSE ten years ago (?) on
> boot irq quirks and the amount of research they had to do it learn
> about the behavior.[4]

Oh yes.

> From a Real-Time Linux perspective this is really important to me.  As
> we get closer to fully mainlined we need to have this information
> readily available with greater usage of threaded irqs in combination
> with legacy interrupts on the older platforms.
>
> So I will ensure we actually create useful information pointing to this
> behavior either in kernel docs or online as in a white paper or both.

Great.

>> As we have already quirks in drivers/pci/quirks.c which handle the
>> same issue on older chipsets, we really should add one for these kind
>> of systems to avoid fiddling with the BIOS (which you can, but most
>> people cannot).

> Agreed, and I will follow-up with Kar Hin Ong to get them added.

Much appreciated.

Thanks,

        tglx

  reply	other threads:[~2020-01-23 13:09 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-31  3:53 "oneshot" interrupt causes another interrupt to be fired erroneously in Haswell system Kar Hin Ong
2019-10-31 23:05 ` Bjorn Helgaas
2019-11-01  7:46   ` Kar Hin Ong
2019-11-04 23:41   ` Thomas Gleixner
2019-11-07  9:38     ` Kar Hin Ong
2019-11-21 11:22       ` Kar Hin Ong
2020-01-15 23:05       ` Thomas Gleixner
2020-01-16  7:32         ` Kar Hin Ong
2020-01-16 10:01           ` Thomas Gleixner
2020-01-23  1:37             ` Sean V Kelley
2020-01-23 13:08               ` Thomas Gleixner [this message]
2020-02-09 15:37                 ` Thomas Gleixner
2020-02-10 16:32                   ` Sean V Kelley

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=87muaetj4p.fsf@nanos.tec.linutronix.de \
    --to=tglx@linutronix.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=gratian.crisan@ni.com \
    --cc=helgaas@kernel.org \
    --cc=hpa@zytor.com \
    --cc=julia.cartwright@ni.com \
    --cc=kar.hin.ong@ni.com \
    --cc=keng.soon.cheah@ni.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=sean.v.kelley@linux.intel.com \
    --cc=x86@kernel.org \
    /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).