Mellanox Ethernet NIC interrupts

Dear all,

I have an Mellanox 40G Ethernet NIC install in a Linux system. The NIC is configured as “Eth2”

I run “cat /proc/interrupts” to see the NIC’s interrupts, got the following results:

"

0 PCI-MSI-edge mlx4-comp-0@pci:0000:05:00.0

0 PCI-MSI-edge mlx4-comp-1@pci:0000:05:00.0

0 PCI-MSI-edge mlx4-comp-2@pci:0000:05:00.0

0 PCI-MSI-edge mlx4-async@pci:0000:05:00.0

0 PCI-MSI-edge eth2-0

0 PCI-MSI-edge eth2-1

0 PCI-MSI-edge eth2-2

"

I understand that interrupt “eth2-x” represent the NIC has multiple receive queues, and each queue generates its own interrupts.

I do not understand is what do “mlx4-comp-x…” and “mlx4-async…” stand for, what kind of interrupts are these?

thanks

wenji

No,

I mean what these types of irqs means:

0 PCI-MSI-edge mlx4-comp-0@pci:0000:05:00.0

0 PCI-MSI-edge mlx4-comp-1@pci:0000:05:00.0

0 PCI-MSI-edge mlx4-comp-2@pci:0000:05:00.0

0 PCI-MSI-edge mlx4-async@pci:0000:05:00.0

I understand the following irqs are generated for each tx/rx queue for each cpu:

0 PCI-MSI-edge eth2-0

0 PCI-MSI-edge eth2-1

0 PCI-MSI-edge eth2-2

….

Hello,

I believe these are irqs created by the mlx4 driver per CPU for rx/tx for each port and are automatically set if you have enabled the “affinty tuner” in the mlnx driver - /etc/infiniband/openib.conf

Otherwise irqs can be manually controlled by the set_irq_affinty script that comes with the MLNX bundle. you can read more about it in here :

http://www.mellanox.com/related-docs/prod_software/Performance_Tuning_Guide_for_Mellanox_Network_Adapters.pdf http://www.mellanox.com/related-docs/prod_software/Performance_Tuning_Guide_for_Mellanox_Network_Adapters.pdf