Linux Drivers

Linux Drivers

Login Settings Help/Guide About Trac Wiki Start Page Support Index Recent Changes Page History Neterion Linux Drivers Table of Contents 1. General Information 2. Release Notes and Readme files 3. Measuring Baseline Performance 4. Linux Driver Utilities 5. Frequently Asked Questions (FAQ): 1. Q1: Which driver version am I using? 2. Q2: How can I list detailed PCI information about my Xframe adapter(s)? 3. Q3: How can I tell which physical adapter corresponds to a given ethX name? 4. Q4: How do I configure Xframe to steer receive packets using SPDM? 5. Q5: What does it mean when I see the kernel error "swapper: page allocation failure. order:2, mode:0x20"? General Information Driver Name s2io.ko, s2io.o Device Drivers Download Supported Adapters All Neterion Adapters listed here. Supported Linux Kernels 2.6 (driver included in all kernels 2.6.6 and later) and 2.4 Shipping in Linux Distros RHEL AS4 U3 onwards; SLES 9 SP3 onwards Hardware Architectures x86, x86-64, Itanium, PPC 64-bit, SPARC Release Notes and Readme files For information such as driver requirements, change logs, available downloads, and known issues, see the Release Notes. For additional information regarding installation, performance suggestions, known issues, etc., please see the Readme. Back to TOC Measuring Baseline Performance While GbE NICs typically run at GbE line rate on modern systems, 10GbE NICs cause "fast network, slow host" scenario and may or may not run at full 10GbE on a particular system. Typical bottlenecks on a particular system include pci bus speed, system memory bandwidth, and/or cpu utilization. Also, network performance is very application-specific. For suggestions to improve performance, please see the Linux Readme To measure baseline TCP throughput for your Neterion 10GbE Adapter, please connect two similar servers with Neterion NICs back- to-back, apply performance tuning tips from the Linux Readme and run the following commands: iPerf System 1 #./iperf -s System 2 #./iperf -c <remotehost> -l89600 -t60 -i1 -P4 Download iPerf version 2.0.2 Latency can be measured with tools like Netperf or Netpipe. Netperf #netperf -H <remotehost> -t TCP_RR Download Netperf version 2.4.1 Please e-mail your performance results (along with server platform description) to [email protected]. Our support team will be able to confirm whether your results are expected for a given platform. Back to TOC Linux Driver Utilities To obtain adapter statistics for Xframe adapter assigned eth2: # ethtool –S eth2 To obtain adapter register dump for Xframe adapter assigned eth2: # ethtool –d eth2 Back to TOC Frequently Asked Questions (FAQ): Q1: Which driver version am I using? A: Use the command 'ethtool -i ethX' # ethtool -i eth2 driver: Neterion version: 2.0.14.5152 firmware-version: bus-info: 0000:01:03.0 If you don't want to load the kernel module but want to know the version, grep for version in modinfo with the following command: # modinfo [module.ko]|grep ^version: (Result will be the string reported to MODULE_VERSION()when driver was compiled) Q2: How can I list detailed PCI information about my Xframe adapter(s)? A: Use the command 'lspci -v -d 17d5:*' # lspci -v -d 17d5:* 0000:01:03.0 Ethernet controller: Neterion Inc. Xframe II 10 Gigabit Ethernet PCI-X (rev 02) Subsystem: IBM: Unknown device 02eb Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 20 Memory at ff4f8000 (64-bit, prefetchable) [size=32K] Memory at ff300000 (64-bit, prefetchable) [size=1M] Memory at ff4f7800 (64-bit, prefetchable) [size=2K] Expansion ROM at fc700000 [disabled] [size=1M] Capabilities: [40] Message Signalled Interrupts: 64bit+ Queue=0/5 Enable- Capabilities: [60] PCI-X non-bridge device. Capabilities: [80] Vital Product Data Capabilities: [90] #11 [003f] Capabilities: [a0] Power Management version 3 Q3: How can I tell which physical adapter corresponds to a given ethX name? A: Use the command 'ethtool -p ethX' # ethtool -p eth2 (the LED of the physical adapter assigned interface eth2 will blink) Q4: How do I configure Xframe to steer receive packets using SPDM? A. Please see the section - "RTH (Receive Traffic Hash) based steering" and "SPDM (Socket-Pair Direct Match) based steering", in the Readme for more details. Here's an example load of the driver - insmod s2io.ko rx_steering_type=2 rth_protocol=2 rth_mask=18 rx_ring_num=8 where rx_ring_num = 8 => Total number of receive rings( 1 to 8) rx_steering_type = 2 => Steering type is RTH rth_protocol = 2 => Use IPV4 source and destination address and UDP source and destination ports rth_mask = 2 => Ignore destination IP address for HASH calculation rth_mask = 16 => Ignore L4 source port for HASH calculation Note: rth_mask = 18 implies, ignore destination IP address and L4 source port. Run the util command to configure the SPDM table # ./util -i <interface> -s set Enter Src IP: Source IP address e.g 1.1.1.1 Enter Dst IP: Destination IP address e.g 4294967295 (Equivalent of 0xFFFFFFFF to ignore destination IP) Enter Src port: Source port e.g 65535 (Equivalent of 0xFFFF to ignore source port) Enter Dst port: Destination port e.g 5001 Enter target Queue (between 0 - 7): Receive ring to steer the packets to, eg.., 0. Note: If 8 receive rings are configured, the target queue can be from 0 - 7. Run the performance test tools e.g iperf, nttcp etc You can check steering with ethtool # ethtool -S eth3 | grep rmac_frms_q rmac_frms_q0: 3 rmac_frms_q1: 2566 rmac_frms_q2: 0 rmac_frms_q3: 0 rmac_frms_q4: 0 rmac_frms_q5: 0 rmac_frms_q6: 0 rmac_frms_q7: 0 Q5: What does it mean when I see the kernel error "swapper: page allocation failure. order:2, mode:0x20"? A. This message is due to a memory allocation failure. If you are using Jumbo Frames larger than 4000 bytes, it is likely a memory fragmentation problem and there probably aren't enough contiguous pages available in memory to allocate. The workaround is to use a MTU size of 4000 bytes or less. Since handling of a frame this size requires allocation of no more than a single page, memory fragmentation will no longer be an issue. Using LRO in conjunction with this reduced MTU size will help to keep performance at par with 9000 byte MTU performance. # insmod s2io.ko lro=1 # ifconfig eth# <ip_address> mtu 4000 Back to TOC Last updated on Thu May 26 11:31:09 2011 Download in other formats: Plain Text Powered by Trac 0.8 Visit the Trac open source project at By Edgewall Software. http://trac.edgewall.com/.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us