Linux是否自动将IRQ绑定到PCIe设备所连接的NUMA节点?

时间:2017-06-09 18:34:37

标签: linux linux-kernel device hardware irq

  1. 众所周知,我们可以使用Linux上的IRQ Affinity将某些设备的IRQ映射到某些CPU内核
  2. cat <8-bit-core-mask> /proc/irq/[irq-num]/smp_affinity

    另外

    1. 我们知道,我们可以使用:https://events.linuxfoundation.org/sites/events/files/eeus13_shelton.pdf
    2. 在NUMA系统上的某些CPU节点(主板上的处理器)上映射IRQ(硬件中断)

      cat <8-bit-node-mask> /proc/irq/[irq-num]/node

      但如果一个PCIe设备(以太网,GPU,...)连接到NUMA-0,而其他PCIe设备连接到NUMA-1,那么在这些NUMA节点上使用中断将是最佳的(CPU)这些设备连接到这些设备,以避免节点之间的高延迟通信:Is CPU access asymmetric to Network card

      Linux是否自动将IRQ绑定到PCIe设备所连接的节点,还是必须手动完成?

      如果我们必须亲手操作,那么最好的方法是什么?

      特别感兴趣的是Linux x86_64:Debian 8(内核3.16)和Red Hat Enterprise Linux 7(内核3.10),以及其他......

      主板芯片组:英特尔C612 /英特尔C610等......

      以太网卡:Solarflare Flareon Ultra SFN7142Q双端口40GbE QSFP + PCIe 3.0服务器I / O适配器 - 部件号:SFN7142Q

1 个答案:

答案 0 :(得分:1)

通过体系结构将所有低IRQ映射到节点0。 其中一些CAN可以像IRQ 0定时器一样重新映射。 无论如何需要检查你的系统(蓝图)。

如果您有很高的网络负载并进行路由,那么固定NIC队列是有意义的。最有效地将tx和rx队列固定到最近的&#34;根据缓存的核心。但在建议了解你的建筑之前会很高兴。

需要知道: 1.你的系统(dmidecode,lspci输出),cat / proc / interrupt 2.您的要求(服务器的用途是什么)。 IOW很高兴了解你的服务器是什么。所以只需解释流程和架构。