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 <ethX>”。 相应的适配器的 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 值对于 Opterons 最佳为 2,对于 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 等)。