brintos

brintos / linux-shallow public Read only

0
0
Text · 5.3 KiB · d731b5a Raw
197 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3=========================================================4Neterion's (Formerly S2io) Xframe I/II PCI-X 10GbE driver5=========================================================6 7Release notes for Neterion's (Formerly S2io) Xframe I/II PCI-X 10GbE driver.8 9.. Contents10  - 1.  Introduction11  - 2.  Identifying the adapter/interface12  - 3.  Features supported13  - 4.  Command line parameters14  - 5.  Performance suggestions15  - 6.  Available Downloads16 17 181. Introduction19===============20This Linux driver supports Neterion's Xframe I PCI-X 1.0 and21Xframe II PCI-X 2.0 adapters. It supports several features22such as jumbo frames, MSI/MSI-X, checksum offloads, TSO, UFO and so on.23See below for complete list of features.24 25All features are supported for both IPv4 and IPv6.26 272. Identifying the adapter/interface28====================================29 30a. Insert the adapter(s) in your system.31b. Build and load driver::32 33	# insmod s2io.ko34 35c. View log messages::36 37	# dmesg | tail -4038 39You will see messages similar to::40 41	eth3: Neterion Xframe I 10GbE adapter (rev 3), Version 2.0.9.1, Intr type INTA42	eth4: Neterion Xframe II 10GbE adapter (rev 2), Version 2.0.9.1, Intr type INTA43	eth4: Device is on 64 bit 133MHz PCIX(M1) bus44 45The above messages identify the adapter type(Xframe I/II), adapter revision,46driver version, interface name(eth3, eth4), Interrupt type(INTA, MSI, MSI-X).47In case of Xframe II, the PCI/PCI-X bus width and frequency are displayed48as well.49 50To associate an interface with a physical adapter use "ethtool -p <ethX>".51The corresponding adapter's LED will blink multiple times.52 533. Features supported54=====================55a. Jumbo frames. Xframe I/II supports MTU up to 9600 bytes,56   modifiable using ip command.57 58b. Offloads. Supports checksum offload(TCP/UDP/IP) on transmit59   and receive, TSO.60 61c. Multi-buffer receive mode. Scattering of packet across multiple62   buffers. Currently driver supports 2-buffer mode which yields63   significant performance improvement on certain platforms(SGI Altix,64   IBM xSeries).65 66d. MSI/MSI-X. Can be enabled on platforms which support this feature67   resulting in noticeable performance improvement (up to 7% on certain68   platforms).69 70e. Statistics. Comprehensive MAC-level and software statistics displayed71   using "ethtool -S" option.72 73f. Multi-FIFO/Ring. Supports up to 8 transmit queues and receive rings,74   with multiple steering options.75 764. Command line parameters77==========================78 79a. tx_fifo_num80	Number of transmit queues81 82Valid range: 1-883 84Default: 185 86b. rx_ring_num87	Number of receive rings88 89Valid range: 1-890 91Default: 192 93c. tx_fifo_len94	Size of each transmit queue95 96Valid range: Total length of all queues should not exceed 819297 98Default: 409699 100d. rx_ring_sz101	Size of each receive ring(in 4K blocks)102 103Valid range: Limited by memory on system104 105Default: 30106 107e. intr_type108	Specifies interrupt type. Possible values 0(INTA), 2(MSI-X)109 110Valid values: 0, 2111 112Default: 2113 1145. Performance suggestions115==========================116 117General:118 119a. Set MTU to maximum(9000 for switch setup, 9600 in back-to-back configuration)120b. Set TCP windows size to optimal value.121 122For instance, for MTU=1500 a value of 210K has been observed to result in123good performance::124 125	# sysctl -w net.ipv4.tcp_rmem="210000 210000 210000"126	# sysctl -w net.ipv4.tcp_wmem="210000 210000 210000"127 128For MTU=9000, TCP window size of 10 MB is recommended::129 130	# sysctl -w net.ipv4.tcp_rmem="10000000 10000000 10000000"131	# sysctl -w net.ipv4.tcp_wmem="10000000 10000000 10000000"132 133Transmit performance:134 135a. By default, the driver respects BIOS settings for PCI bus parameters.136   However, you may want to experiment with PCI bus parameters137   max-split-transactions(MOST) and MMRBC (use setpci command).138 139   A MOST value of 2 has been found optimal for Opterons and 3 for Itanium.140 141   It could be different for your hardware.142 143   Set MMRBC to 4K**.144 145   For example you can set146 147   For opteron::148 149	#setpci -d 17d5:* 62=1d150 151   For Itanium::152 153	#setpci -d 17d5:* 62=3d154 155   For detailed description of the PCI registers, please see Xframe User Guide.156 157b. Ensure Transmit Checksum offload is enabled. Use ethtool to set/verify this158   parameter.159 160c. Turn on TSO(using "ethtool -K")::161 162	# ethtool -K <ethX> tso on163 164Receive performance:165 166a. By default, the driver respects BIOS settings for PCI bus parameters.167   However, you may want to set PCI latency timer to 248::168 169	#setpci -d 17d5:* LATENCY_TIMER=f8170 171   For detailed description of the PCI registers, please see Xframe User Guide.172 173b. Use 2-buffer mode. This results in large performance boost on174   certain platforms(eg. SGI Altix, IBM xSeries).175 176c. Ensure Receive Checksum offload is enabled. Use "ethtool -K ethX" command to177   set/verify this option.178 179d. Enable NAPI feature(in kernel configuration Device Drivers ---> Network180   device support --->  Ethernet (10000 Mbit) ---> S2IO 10Gbe Xframe NIC) to181   bring down CPU utilization.182 183.. note::184 185   For AMD opteron platforms with 8131 chipset, MMRBC=1 and MOST=1 are186   recommended as safe parameters.187 188For more information, please review the AMD8131 errata at189http://vip.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/19026310_AMD-8131_HyperTransport_PCI-X_Tunnel_Revision_Guide_rev_3_18.pdf191 1926. Support193==========194 195For further support please contact either your 10GbE Xframe NIC vendor (IBM,196HP, SGI etc.)197