前言: 虚拟机性能调试的时候,遇到了external irq对vm造成了exit。 分析: 1,网卡多队列
enp130s0f0是Intel Corporation Ethernet Controller 10-Gigabit X540-AT2网卡,一块物理网卡使用了12个msi类型的irq。 2,irq数量 X540-AT2网卡 的驱动在linux-4.4/drivers/net/ethernet/intel/ixgbe中,
可以查询到硬件不同类型的网卡支持最大的irq vector数量。其中IXGBE_MAX_MSIX_VECTORS_82599是宏定义的64。
在初始化的misx vector的时候,还会参考在线CPU的数量。如果在CPU小于64的时候,会选择CPU数量的多列数目,也就意味着每个CPU都会产生external irq。
3,影响 追求高性能虚拟机的情况下,需要隔离开网卡的irq和vCPU,就需要设定网卡的irq affinity,以及vCPU的CPU affinity。