lspci & /proc/interrupts discrepancy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



An RH customer noted that the reported IRQ value from 'lspci -xxx -vv' and the value from /proc/interrupts do not match on devices with MSI or MSI-X (MSI/-X). This issue also occurs upstream.

lspci shows:

03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM57712 10Gigabit PCIe
<snip>
      Interrupt: pin A routed to IRQ 169
<snip>

(this Interrupt message shows only the legacy IRQ)

/proc/interrupts show:

74: 30 0 0 0 950 0 30 0 PCI-MSI-X eth7 82: 271 0 0 0 0 0 7507 329 PCI-MSI-X eth7

The issue is that the kernel does not export the MSI-X interrupt vectors via /sysfs.

I think the logical thing to do is to create a /sysfs PCI device file which exports this data so that lspci can use it and report MSI/-X values.

For example,

/sys/devices/pci0000:00/0000:00:0f.0/0000:03:00.0/msi_irq would contain "msix 74 82"

(If the device only had MSI enabled, the file would contain "msi 74")

I'm using "msi_irq" following the convention in the pci msi code which uses msi as a name when both MSI and MSI-X can be used.

Any obvious drawbacks to this?  Comments?

P.


--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux