Hello,
when I have a look at our Ubuntu 12.04 LTS (Kernel 3.5) /proc/interrupts output I see several interrupts for the installed ConnectX infiniband card:
73: 999+ 999+ 999+ 999+ ... mlx4-ib-1-0@PCI Bus 0000:09 ...
74: 0000 0000 0000 0000 ... mlx4-ib-1-1@PCI Bus 0000:09 ...
75: 0000 0000 0000 0000 ... mlx4-ib-1-2@PCI Bus 0000:09 ...
76: 0000 0000 0000 0000... mlx4-ib-1-3@PCI Bus 0000:09 ...
If my interpretation of the availabale documentation is right, each of these interrupts matches one ring buffer of port 1 on the adapter. At least from what you can read at https://www.kernel.org/doc/Documentation/networking/scaling.txt The port is running as in IPoIB datagram mode on a NFS storage filer and is accessed from several clients attached to the same infiniband switch.
With this setup I'm wondering why only interrupts on device mlx4-ib-1-0@PCI Bus 0000:09 are counting up. I used number 999+ above to make it more readable. Is there any option to get interrupts on the other queues? The idea would be to spread them over several CPUs. If yes or no would there be any benefit of doing it?
Best regards.
Markus