Neterion(原 S2io)Xframe I/II PCI-X 10GbE 驱动程序

Neterion(原 S2io)Xframe I/II PCI-X 10GbE 驱动程序的发行说明。

1. 简介

此 Linux 驱动程序支持 Neterion 的 Xframe I PCI-X 1.0 和 Xframe II PCI-X 2.0 适配器。它支持巨型帧、MSI/MSI-X、校验和卸载、TSO、UFO 等多种功能。有关完整功能列表,请参见下文。

IPv4 和 IPv6 都支持所有功能。

2. 识别适配器/接口

  1. 将适配器插入系统。

  2. 构建并加载驱动程序

    # insmod s2io.ko
    
  3. 查看日志消息

    # dmesg | tail -40
    

您将看到类似以下的消息

eth3: Neterion Xframe I 10GbE adapter (rev 3), Version 2.0.9.1, Intr type INTA
eth4: Neterion Xframe II 10GbE adapter (rev 2), Version 2.0.9.1, Intr type INTA
eth4: Device is on 64 bit 133MHz PCIX(M1) bus

上面的消息标识适配器类型(Xframe I/II)、适配器版本、驱动程序版本、接口名称(eth3、eth4)、中断类型(INTA、MSI、MSI-X)。对于 Xframe II,还会显示 PCI/PCI-X 总线宽度和频率。

要将接口与物理适配器关联,请使用 “ethtool -p ”。相应的适配器 LED 将闪烁多次。

3. 支持的功能

  1. 巨型帧。Xframe I/II 支持高达 9600 字节的 MTU,可以使用 ip 命令修改。

  2. 卸载。支持在发送和接收时进行校验和卸载(TCP/UDP/IP)、TSO。

  3. 多缓冲区接收模式。将数据包分散到多个缓冲区。当前驱动程序支持 2 缓冲区模式,在某些平台(SGI Altix、IBM xSeries)上可显著提高性能。

  4. MSI/MSI-X。可以在支持此功能的平台上启用,从而显著提高性能(在某些平台上可高达 7%)。

  5. 统计信息。使用 “ethtool -S” 选项显示全面的 MAC 级别和软件统计信息。

  6. 多 FIFO/环。支持多达 8 个发送队列和接收环,具有多个转向选项。

4. 命令行参数

  1. tx_fifo_num

    发送队列的数量

有效范围:1-8

默认值:1

  1. rx_ring_num

    接收环的数量

有效范围:1-8

默认值:1

  1. tx_fifo_len

    每个发送队列的大小

有效范围:所有队列的总长度不应超过 8192

默认值:4096

  1. rx_ring_sz

    每个接收环的大小(以 4K 块为单位)

有效范围:受系统内存限制

默认值:30

  1. intr_type

    指定中断类型。可能的值为 0 (INTA)、2 (MSI-X)

有效值:0、2

默认值:2

5. 性能建议

常规

  1. 将 MTU 设置为最大值(对于交换机设置,为 9000;在背靠背配置中,为 9600)

  2. 将 TCP 窗口大小设置为最佳值。

例如,对于 MTU=1500,观察到 210K 的值可获得良好的性能

# sysctl -w net.ipv4.tcp_rmem="210000 210000 210000"
# sysctl -w net.ipv4.tcp_wmem="210000 210000 210000"

对于 MTU=9000,建议使用 10 MB 的 TCP 窗口大小

# sysctl -w net.ipv4.tcp_rmem="10000000 10000000 10000000"
# sysctl -w net.ipv4.tcp_wmem="10000000 10000000 10000000"

发送性能

  1. 默认情况下,驱动程序会遵循 BIOS 设置的 PCI 总线参数。但是,您可能需要尝试使用 PCI 总线参数 max-split-transactions (MOST) 和 MMRBC(使用 setpci 命令)。

    已发现 MOST 值为 2 对于 Opterons 最优,对于 Itanium 最优为 3。

    对于您的硬件可能有所不同。

    将 MMRBC 设置为 4K**。

    例如,您可以设置

    对于 Opteron

    #setpci -d 17d5:* 62=1d
    

    对于 Itanium

    #setpci -d 17d5:* 62=3d
    

    有关 PCI 寄存器的详细说明,请参见 Xframe 用户指南。

  2. 确保启用发送校验和卸载。使用 ethtool 设置/验证此参数。

  3. 启用 TSO(使用 “ethtool -K”)

    # ethtool -K <ethX> tso on
    

接收性能

  1. 默认情况下,驱动程序会遵循 BIOS 设置的 PCI 总线参数。但是,您可能需要将 PCI 延迟计时器设置为 248

    #setpci -d 17d5:* LATENCY_TIMER=f8
    

    有关 PCI 寄存器的详细说明,请参见 Xframe 用户指南。

  2. 使用 2 缓冲区模式。这会在某些平台(例如,SGI Altix、IBM xSeries)上大幅提高性能。

  3. 确保启用接收校验和卸载。使用 “ethtool -K ethX” 命令设置/验证此选项。

  4. 启用 NAPI 功能(在内核配置“设备驱动程序”->“网络设备支持”->“以太网 (10000 Mbit)”->“S2IO 10Gbe Xframe NIC”中)以降低 CPU 利用率。

注意

对于带有 8131 芯片组的 AMD Opteron 平台,建议使用 MMRBC=1 和 MOST=1 作为安全参数。

有关更多信息,请查看 AMD8131 勘误表:http://vip.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/ 26310_AMD-8131_HyperTransport_PCI-X_Tunnel_Revision_Guide_rev_3_18.pdf

6. 支持

如需进一步支持,请联系您的 10GbE Xframe NIC 供应商(IBM、HP、SGI 等)