public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Grant Grundler <grundler@parisc-linux.org>
To: Manu Abraham <abraham.manu@gmail.com>
Cc: Roland Dreier <rdreier@cisco.com>, Greg KH <greg@kroah.com>,
	linux-pci@atrey.karlin.mff.cuni.cz,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: PCIE
Date: Sat, 26 May 2007 12:28:28 -0600	[thread overview]
Message-ID: <20070526182828.GA7080@colo.lackof.org> (raw)
In-Reply-To: <46584C30.4030206@gmail.com>

On Sat, May 26, 2007 at 07:03:12PM +0400, Manu Abraham wrote:
> Roland Dreier wrote:
> >  > I am now wondering whether the usage of MSI would help in this case and
> >  > that i should be using enable_msi before request_irq ?
> > 
> > MSI interrupts are never shared.  So if pci_enable_msi() succeeds, you
> > can be sure that the interrupts you get with that IRQ number are
> > coming from your device.
> > 
> 
> i presume then i shouldn't be using IRQF_SHARED, if using MSI.

I'm not sure...but my guess is not. Who ever "just knows", could you
please submit a patch to Documentation/MSI-HOWTO.txt ?

> Another question would be if the device supports multiple messages, MSIX
> should be used ?

Yes. Assuming the device supports multiple MSI-X messages.


> In such a context, if i request for say more than the messages that i
> need, say i request 16 messages, but use only 1 or 2, that does bear any
> consequences ?

Yes. One is allocating IRQ vectors from a finite number of vectors.
But this normally isn't a problem until one gets to larger machines that
have more than 4-8 PCI-e or PCI-X slots.

Typically, one will limit the number of vectors to the number of CPUs
in the system or to how many different events the device can signal.

> > But using MSI does not work on all systems, so your driver needs to
> > work with standard (possibly shared) INTx interrupts too.  And you
> > should probably provide at least a module flag to disable the use of
> > MSI, to avoid problems on buggy systems.
> 
> I should probably look for CONFIG_PCI_MSI and check whether the system
> supports MSI pci_enable_msi() ?

pci_enable_msi() will fail if the system doesn't support MSI or something
else goes wrong with the call (e.g. already setup).

hth,
grant

  reply	other threads:[~2007-05-26 18:28 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                     ` Grant Grundler [this message]
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                       ` PCIE Roland Dreier
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=20070526182828.GA7080@colo.lackof.org \
    --to=grundler@parisc-linux.org \
    --cc=abraham.manu@gmail.com \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    --cc=rdreier@cisco.com \
    /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