[openib-general] IRQ sharing on PCIe bus

Michael Krause krause at cup.hp.com
Mon Oct 10 12:50:59 PDT 2005


At 09:22 AM 10/10/2005, Roland Dreier wrote:
>     yipee> Hi, My setup is a 3GHz Xeon (x86_64) with a 2.6.13.2
>     yipee> kernel. A Mellanox memfree PCIe ddr HCA is connected.  Why
>     yipee> do I see IRQ sharing although I'm using msi_x and PCIe?
>     yipee> Doesn't IRQ sharing only happen on older non PCIe busses?
>
>I think the messages you see are coming from the ACPI interrupt
>routing that is done when the driver calls pci_enable_device().
>However, if you use MSI-X then that interrupt won't actually be used.
>If you check /proc/interrupts you should see ib_mthca using 3
>non-shared interrupts.
>
>BTW, for "INTx emulation" on PCI Express, there are no physical
>interrupt lines -- interrupts are asserted and deasserted with
>messages.  So PCI Express interrupts are unshared.

They are messages upstream that any device.

>However, the PCI Express host bridge turns those interrupts into real 
>interrupts to the system's interrupt controller, and for that part of the 
>story, it's entirely possible for two different PCI Express devices to end 
>up sharing the same interrupt line.

Correct, the host bridge may map them to a "monarch" processor and thus any 
or all devices can share the same interrupt.  This is why within the 
PCI-SIG we recommend using MSI-X and long-term, many of us would simply 
like to drop INTx and make MSI-X mandatory.

Mike 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/general/attachments/20051010/af5a8e00/attachment.html>


More information about the general mailing list