mellanox网卡侧每个EQ绑定一个独立中断。每个sr rq等绑定到EQ上。
在主机侧中断数量 中断号可以在/proc/interrupt文件中查看,该文件每一行对应一个中断号,最后两列显示中断类型和中端名字。第一列中断号,中间n列是该中断在每个CPU上产生的数量,n等于CPU数量。另外网卡相关的中断名字是以eth0-x或eth1-x命名。所以可以过滤eth得到网卡相关的中断。其中eth0对应port0 ,1对应port1
cat /proc/interrupts | grep eth
统计输出数量就是两个port中断总和
另外每个eth口的中断数量是channel决定。每个channel对应一个独立PCIe的msi中断。(msi是消息信号中断 不是独立引脚,依赖PCIe 所以PCIe扫描可能出现丢失等问题)
每个port口的channel数量可以使用下面命令查看
ethtool -l eth0
查看其中的rx的combine值。因为tx不涉及中断。
关于中断绑定问题,mellanox网卡将中断根据CPUID顺序绑定,每个中断在具体哪个CPU可以在/proc/irq/xxx/sm_affinity_list文件中,如果是1表示该中断绑定到CPU1的。
要查看所有的eth中断可以先在proc interrupts文件中得到eth所有的中断号之后,遍历irq目录,在每个中断目录下打印前面提到的s a l文件中的绑定CPU