~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/networking/device_drivers/ethernet/neterion/s2io.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 =========================================================
  4 Neterion's (Formerly S2io) Xframe I/II PCI-X 10GbE driver
  5 =========================================================
  6 
  7 Release notes for Neterion's (Formerly S2io) Xframe I/II PCI-X 10GbE driver.
  8 
  9 .. Contents
 10   - 1.  Introduction
 11   - 2.  Identifying the adapter/interface
 12   - 3.  Features supported
 13   - 4.  Command line parameters
 14   - 5.  Performance suggestions
 15   - 6.  Available Downloads
 16 
 17 
 18 1. Introduction
 19 ===============
 20 This Linux driver supports Neterion's Xframe I PCI-X 1.0 and
 21 Xframe II PCI-X 2.0 adapters. It supports several features
 22 such as jumbo frames, MSI/MSI-X, checksum offloads, TSO, UFO and so on.
 23 See below for complete list of features.
 24 
 25 All features are supported for both IPv4 and IPv6.
 26 
 27 2. Identifying the adapter/interface
 28 ====================================
 29 
 30 a. Insert the adapter(s) in your system.
 31 b. Build and load driver::
 32 
 33         # insmod s2io.ko
 34 
 35 c. View log messages::
 36 
 37         # dmesg | tail -40
 38 
 39 You will see messages similar to::
 40 
 41         eth3: Neterion Xframe I 10GbE adapter (rev 3), Version 2.0.9.1, Intr type INTA
 42         eth4: Neterion Xframe II 10GbE adapter (rev 2), Version 2.0.9.1, Intr type INTA
 43         eth4: Device is on 64 bit 133MHz PCIX(M1) bus
 44 
 45 The above messages identify the adapter type(Xframe I/II), adapter revision,
 46 driver version, interface name(eth3, eth4), Interrupt type(INTA, MSI, MSI-X).
 47 In case of Xframe II, the PCI/PCI-X bus width and frequency are displayed
 48 as well.
 49 
 50 To associate an interface with a physical adapter use "ethtool -p <ethX>".
 51 The corresponding adapter's LED will blink multiple times.
 52 
 53 3. Features supported
 54 =====================
 55 a. Jumbo frames. Xframe I/II supports MTU up to 9600 bytes,
 56    modifiable using ip command.
 57 
 58 b. Offloads. Supports checksum offload(TCP/UDP/IP) on transmit
 59    and receive, TSO.
 60 
 61 c. Multi-buffer receive mode. Scattering of packet across multiple
 62    buffers. Currently driver supports 2-buffer mode which yields
 63    significant performance improvement on certain platforms(SGI Altix,
 64    IBM xSeries).
 65 
 66 d. MSI/MSI-X. Can be enabled on platforms which support this feature
 67    resulting in noticeable performance improvement (up to 7% on certain
 68    platforms).
 69 
 70 e. Statistics. Comprehensive MAC-level and software statistics displayed
 71    using "ethtool -S" option.
 72 
 73 f. Multi-FIFO/Ring. Supports up to 8 transmit queues and receive rings,
 74    with multiple steering options.
 75 
 76 4. Command line parameters
 77 ==========================
 78 
 79 a. tx_fifo_num
 80         Number of transmit queues
 81 
 82 Valid range: 1-8
 83 
 84 Default: 1
 85 
 86 b. rx_ring_num
 87         Number of receive rings
 88 
 89 Valid range: 1-8
 90 
 91 Default: 1
 92 
 93 c. tx_fifo_len
 94         Size of each transmit queue
 95 
 96 Valid range: Total length of all queues should not exceed 8192
 97 
 98 Default: 4096
 99 
100 d. rx_ring_sz
101         Size of each receive ring(in 4K blocks)
102 
103 Valid range: Limited by memory on system
104 
105 Default: 30
106 
107 e. intr_type
108         Specifies interrupt type. Possible values 0(INTA), 2(MSI-X)
109 
110 Valid values: 0, 2
111 
112 Default: 2
113 
114 5. Performance suggestions
115 ==========================
116 
117 General:
118 
119 a. Set MTU to maximum(9000 for switch setup, 9600 in back-to-back configuration)
120 b. Set TCP windows size to optimal value.
121 
122 For instance, for MTU=1500 a value of 210K has been observed to result in
123 good performance::
124 
125         # sysctl -w net.ipv4.tcp_rmem="210000 210000 210000"
126         # sysctl -w net.ipv4.tcp_wmem="210000 210000 210000"
127 
128 For 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 
133 Transmit performance:
134 
135 a. By default, the driver respects BIOS settings for PCI bus parameters.
136    However, you may want to experiment with PCI bus parameters
137    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 set
146 
147    For opteron::
148 
149         #setpci -d 17d5:* 62=1d
150 
151    For Itanium::
152 
153         #setpci -d 17d5:* 62=3d
154 
155    For detailed description of the PCI registers, please see Xframe User Guide.
156 
157 b. Ensure Transmit Checksum offload is enabled. Use ethtool to set/verify this
158    parameter.
159 
160 c. Turn on TSO(using "ethtool -K")::
161 
162         # ethtool -K <ethX> tso on
163 
164 Receive performance:
165 
166 a. 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=f8
170 
171    For detailed description of the PCI registers, please see Xframe User Guide.
172 
173 b. Use 2-buffer mode. This results in large performance boost on
174    certain platforms(eg. SGI Altix, IBM xSeries).
175 
176 c. Ensure Receive Checksum offload is enabled. Use "ethtool -K ethX" command to
177    set/verify this option.
178 
179 d. Enable NAPI feature(in kernel configuration Device Drivers ---> Network
180    device support --->  Ethernet (10000 Mbit) ---> S2IO 10Gbe Xframe NIC) to
181    bring down CPU utilization.
182 
183 .. note::
184 
185    For AMD opteron platforms with 8131 chipset, MMRBC=1 and MOST=1 are
186    recommended as safe parameters.
187 
188 For more information, please review the AMD8131 errata at
189 http://vip.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/
190 26310_AMD-8131_HyperTransport_PCI-X_Tunnel_Revision_Guide_rev_3_18.pdf
191 
192 6. Support
193 ==========
194 
195 For further support please contact either your 10GbE Xframe NIC vendor (IBM,
196 HP, SGI etc.)

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php