public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Roland Dreier <rdreier@cisco.com>
To: David Miller <davem@davemloft.net>
Cc: abraham.manu@gmail.com, greg@kroah.com,
	linux-pci@atrey.karlin.mff.cuni.cz, linux-kernel@vger.kernel.org
Subject: Re: PCIE
Date: Sun, 27 May 2007 18:03:29 -0700	[thread overview]
Message-ID: <ada3b1h3gke.fsf@cisco.com> (raw)
In-Reply-To: <20070526.154910.78725926.davem@davemloft.net> (David Miller's message of "Sat, 26 May 2007 15:49:10 -0700 (PDT)")

 > > i presume then i shouldn't be using IRQF_SHARED, if using MSI.
 > 
 > That's actually a really good question.
 > 
 > It is likely architecture dependant whether the PCI controller wires
 > unique MSI interrupts to shared cpu interrupt lines.

Yes, but current Linux drivers assume that MSI interrupts are
non-shared.  Certainly in my drivers I make that assumption, and from
a quick look neither tg3 nor e1000 sets IRQF_SHARED if they enable
MSI.

I think that if we run on a system where MSI interrupts may be shared,
then we should just have pci_enable_msi() fail.  If drivers have to
allow for shared MSI interrupts, then they lose most of the advantage
of MSI -- if I get an MSI but I don't know it came from my device, I
probably have to do an MMIO read to find out if it's mine or not and
also to preserve DMA ordering, which kills the main advantage of MSI.
And since MSIs are basically edge triggered, sharing vectors is going
to lead to all sorts of hassles.

 > I can imagine many systems where the cpu simply doesn't have enough
 > interrupt pins to uniquely identify every possible MSI interrupt
 > source.

I have a hard time imagining a PCI host bus controller that converts
MSI interrupts back to wire interrupts that go to pins on the CPU.
For one thing it would be hard to maintain the guarantee that
MSI interrupts can't pass DMAs.  And it would be an absolutely silly
architecture too.

 - R.

  parent reply	other threads:[~2007-05-28  1:03 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-23 12:15 PCIE Manu Abraham
2007-05-23 15:59 ` PCIE Greg KH
2007-05-23 20:59   ` PCIE Manu Abraham
2007-05-23 21:10     ` PCIE Roland Dreier
2007-05-23 22:11       ` PCIE Manu Abraham
2007-05-23 22:23         ` PCIE Roland Dreier
2007-05-23 23:03           ` PCIE Manu Abraham
2007-05-23 23:51             ` PCIE Roland Dreier
2007-05-24  0:07               ` PCIE Manu Abraham
2007-05-24 22:32               ` PCIE Manu Abraham
2007-05-25  3:25                 ` PCIE Roland Dreier
2007-05-26 15:03                   ` PCIE Manu Abraham
2007-05-26 18:28                     ` PCIE Grant Grundler
2007-05-26 19:27                       ` PCIE Manu Abraham
2007-05-28  1:15                         ` PCIE Roland Dreier
2007-05-28  1:25                           ` PCIE Manu Abraham
2007-05-28  2:04                           ` PCIE Manu Abraham
2007-05-28  2:24                             ` PCIE Roland Dreier
2007-05-28  2:47                               ` PCIE Manu Abraham
2007-05-26 22:49                     ` PCIE David Miller
2007-05-26 22:57                       ` PCIE Manu Abraham
2007-05-26 23:55                       ` PCIE Grant Grundler
2007-05-27  0:00                         ` PCIE David Miller
2007-05-27  0:16                           ` PCIE Grant Grundler
2007-05-27  0:30                             ` PCIE David Miller
2007-05-27  1:01                               ` PCIE Manu Abraham
2007-05-27  1:49                                 ` PCIE Grant Grundler
2007-05-27 20:28                                   ` PCIE Manu Abraham
2007-05-28  1:10                           ` PCIE Roland Dreier
2007-05-27  2:34                       ` PCIE H. Peter Anvin
2007-05-27  7:40                         ` PCIE David Miller
2007-05-27 20:31                           ` PCIE Manu Abraham
2007-05-28  1:05                         ` PCIE Roland Dreier
2007-05-28  1:03                       ` Roland Dreier [this message]
2007-05-28  2:54                         ` PCIE David Miller
2007-05-28  4:18                         ` PCIE Grant Grundler
2007-05-28  5:23                           ` PCIE H. Peter Anvin
2007-05-28  5:22                         ` PCIE H. Peter Anvin

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=ada3b1h3gke.fsf@cisco.com \
    --to=rdreier@cisco.com \
    --cc=abraham.manu@gmail.com \
    --cc=davem@davemloft.net \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    /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