[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