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