idpf Linux* 英特尔® 基础设施数据路径功能基础驱动程序

英特尔 idpf Linux 驱动程序。版权所有 (C) 2023 英特尔公司。

idpf 驱动程序既作为英特尔® 基础设施数据路径功能的物理功能 (PF) 驱动程序,也作为虚拟功能 (VF) 驱动程序。

可以使用 ethtool、lspci 和 ip 获取驱动程序信息。

有关硬件要求的问题,请参阅您的英特尔适配器随附的文档。列出的所有硬件要求均适用于 Linux。

识别您的适配器

有关如何识别您的适配器以及最新的英特尔网络驱动程序的信息,请参阅英特尔支持网站:http://www.intel.com/support

其他功能和配置

ethtool

驱动程序利用 ethtool 接口进行驱动程序配置和诊断,以及显示统计信息。此功能需要最新的 ethtool 版本。如果您还没有,可以从以下网址获取:https://linuxkernel.org.cn/pub/software/network/ethtool/

巨型帧

通过将最大传输单元 (MTU) 更改为大于默认值 1500 的值来启用巨型帧支持。

使用 ip 命令增加 MTU 大小。例如,输入以下内容,其中 <ethX> 是接口号

# ip link set mtu 9000 dev <ethX>
# ip link set up dev <ethX>

注意

巨型帧的最大 MTU 设置为 9706。这对应于 9728 字节的最大巨型帧大小。

注意

此驱动程序将尝试使用多个页面大小的缓冲区来接收每个巨型数据包。这应有助于避免分配接收数据包时出现缓冲区饥饿问题。

注意

当您使用巨型帧时,数据包丢失可能会对吞吐量产生更大的影响。如果您在启用巨型帧后观察到性能下降,则启用流控制可能会缓解该问题。

性能优化

驱动程序默认值旨在适应各种工作负载,但如果需要进一步优化,我们建议尝试以下设置。

中断速率限制

此驱动程序支持为一般工作负载调整的自适应中断节流速率 (ITR) 机制。用户可以通过 ethtool 自定义特定工作负载的中断速率控制,调整中断之间的时间(以微秒为单位)。

要手动设置中断速率,必须禁用自适应模式

# ethtool -C <ethX> adaptive-rx off adaptive-tx off
为了降低 CPU 使用率
  • 禁用自适应 ITR 并降低 Rx 和 Tx 中断。以下示例影响指定接口的每个队列。

  • 将 rx-usecs 和 tx-usecs 设置为 80 会将中断限制为每个队列每秒大约 12,500 个中断

    # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs 80
    tx-usecs 80
    
为了减少延迟
  • 通过使用 ethtool 将 rx-usecs 和 tx-usecs 设置为 0 来禁用自适应 ITR 和 ITR

    # ethtool -C <ethX> adaptive-rx off adaptive-tx off rx-usecs 0
    tx-usecs 0
    
每个队列的中断速率设置
  • 以下示例适用于队列 1 和 3,但您可以调整其他队列。

  • 要禁用 Rx 自适应 ITR 并将静态 Rx ITR 设置为 10 微秒或大约每秒 100,000 个中断(对于队列 1 和 3)

    # ethtool --per-queue <ethX> queue_mask 0xa --coalesce adaptive-rx off
    rx-usecs 10
    
  • 要显示队列 1 和 3 的当前合并设置

    # ethtool --per-queue <ethX> queue_mask 0xa --show-coalesce
    

虚拟化环境

除了本节中的其他建议外,以下内容可能有助于优化 VM 中的性能。

  • 在 VM 中使用适当的机制 (vcpupin),将 CPU 固定到单个 LCPU,确保使用设备 local_cpulist 中包含的 CPU 集:/sys/class/net/<ethX>/device/local_cpulist。

  • 在 VM 中配置尽可能多的 Rx/Tx 队列。(有关支持的队列数量,请参阅 idpf 驱动程序文档。)例如

    # ethtool -L <virt_interface> rx <max> tx <max>
    

支持

有关一般信息,请访问英特尔支持网站:http://www.intel.com/support/

如果在使用受支持适配器的受支持内核上发现已发布的源代码存在问题,请将与问题相关的具体信息通过电子邮件发送至 intel-wired-lan@lists.osuosl.org

商标

Intel 是英特尔公司或其子公司在美国和/或其他国家/地区的商标或注册商标。

  • 其他名称和品牌可能是其他公司的财产。