aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/networking/cxgb.txt
diff options
context:
space:
mode:
authorScott Bardone <sbardone@chelsio.com>2005-06-23 01:40:19 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-06-23 01:40:19 -0400
commit559fb51ba7e66fe298b8355fabde1275b7def35f (patch)
treee1de3eb86ea5e6ac8c5f27dc32140a0c2aacc51e /Documentation/networking/cxgb.txt
parenta5324343955997d1439f26518ddac567cd5d134b (diff)
Update Chelsio gige net driver.
- Use extern prefix for functions required. - Removed a lot of wrappers, including t1_read/write_reg_4. - Removed various macros, using native kernel calls now. - Enumerated various #defines. - Removed a lot of shared code which is not currently used in "NIC only" mode. - Removed dead code. Documentation/networking/cxgb.txt: - Updated release notes for version 2.1.1 drivers/net/chelsio/ch_ethtool.h - removed file, no longer using ETHTOOL namespace. drivers/net/chelsio/common.h - moved code from osdep.h to common.h - added comment to #endif indicating which symbol it closes. drivers/net/chelsio/cphy.h - removed dead code. - added comment to #endif indicating which symbol it closes. drivers/net/chelsio/cxgb2.c - use DMA_{32,64}BIT_MASK in include/linux/dma-mapping.h. - removed unused code. - use printk message for link info resembling drivers/net/mii.c. - no longer using the MODULE_xxx namespace. - no longer using "pci_" namespace. - no longer using ETHTOOL namespace. drivers/net/chelsio/cxgb2.h - removed file, merged into common.h drivers/net/chelsio/elmer0.h - removed dead code. - added various enums. - added comment to #endif indicating which symbol it closes. drivers/net/chelsio/espi.c - removed various macros, using native kernel calls now. - removed a lot of wrappers, including t1_read/write_reg_4. drivers/net/chelsio/espi.h - added comment to #endif indicating which symbol it closes. drivers/net/chelsio/gmac.h - added comment to #endif indicating which symbol it closes. drivers/net/chelsio/mv88x201x.c - changes to sync with Chelsio TOT. drivers/net/chelsio/osdep.h - removed file, consolidation. osdep was used to translate wrapper functions since our code supports multiple OSs. removed wrappers. drivers/net/chelsio/pm3393.c - removed various macros, using native kernel calls now. - removed a lot of wrappers, including t1_read/write_reg_4. - removed unused code. drivers/net/chelsio/regs.h - added a few register entries for future and current feature support. - added comment to #endif indicating which symbol it closes. drivers/net/chelsio/sge.c - rewrote large portion of scatter-gather engine to stabilize performance. - using u8/u16/u32 kernel types instead of __u8/__u16/__u32 compiler types. drivers/net/chelsio/sge.h - rewrote large portion of scatter-gather engine to stabilize performance. - added comment to #endif indicating which symbol it closes. drivers/net/chelsio/subr.c - merged tp.c into subr.c - removed various macros, using native kernel calls now. - removed a lot of wrappers, including t1_read/write_reg_4. - removed unused code. drivers/net/chelsio/suni1x10gexp_regs.h - modified copyright and authorship of file. - added comment to #endif indicating which symbol it closes. drivers/net/chelsio/tp.c - removed file, merged into subr.c. drivers/net/chelsio/tp.h - removed file. include/linux/pci_ids.h - patched to include PCI_VENDOR_ID_CHELSIO 0x1425, removed define from our code.
Diffstat (limited to 'Documentation/networking/cxgb.txt')
-rw-r--r--Documentation/networking/cxgb.txt72
1 files changed, 51 insertions, 21 deletions
diff --git a/Documentation/networking/cxgb.txt b/Documentation/networking/cxgb.txt
index 9f2eb646c6f5..76324638626b 100644
--- a/Documentation/networking/cxgb.txt
+++ b/Documentation/networking/cxgb.txt
@@ -2,9 +2,9 @@
2 2
3 Driver Release Notes for Linux 3 Driver Release Notes for Linux
4 4
5 Version 2.1.0 5 Version 2.1.1
6 6
7 March 8, 2005 7 June 20, 2005
8 8
9CONTENTS 9CONTENTS
10======== 10========
@@ -21,8 +21,7 @@ INTRODUCTION
21 21
22 This document describes the Linux driver for Chelsio 10Gb Ethernet Network 22 This document describes the Linux driver for Chelsio 10Gb Ethernet Network
23 Controller. This driver supports the Chelsio N210 NIC and is backward 23 Controller. This driver supports the Chelsio N210 NIC and is backward
24 compatible with the Chelsio N110 model 10Gb NICs. This driver supports AMD64 24 compatible with the Chelsio N110 model 10Gb NICs.
25 and EM64T, and x86 systems.
26 25
27 26
28FEATURES 27FEATURES
@@ -121,23 +120,17 @@ PERFORMANCE
121 Disabling SACK: 120 Disabling SACK:
122 sysctl -w net.ipv4.tcp_sack=0 121 sysctl -w net.ipv4.tcp_sack=0
123 122
124 Setting TCP read buffers (min/default/max): 123 Setting large number of incoming connection requests:
125 sysctl -w net.ipv4.tcp_rmem="10000000 10000000 10000000"
126
127 Setting TCP write buffers (min/pressure/max):
128 sysctl -w net.ipv4.tcp_wmem="10000000 10000000 10000000"
129
130 Setting TCP buffer space (min/pressure/max):
131 sysctl -w net.ipv4.tcp_mem="10000000 10000000 10000000"
132
133 Setting large number of incoming connection requests (2.6.x only):
134 sysctl -w net.ipv4.tcp_max_syn_backlog=3000 124 sysctl -w net.ipv4.tcp_max_syn_backlog=3000
135 125
136 Setting maximum receive socket buffer size: 126 Setting maximum receive socket buffer size:
137 sysctl -w net.core.rmem_max=524287 127 sysctl -w net.core.rmem_max=1024000
138 128
139 Setting maximum send socket buffer size: 129 Setting maximum send socket buffer size:
140 sysctl -w net.core.wmem_max=524287 130 sysctl -w net.core.wmem_max=1024000
131
132 Set smp_affinity (on a multiprocessor system) to a single CPU:
133 echo 1 > /proc/irq/<interrupt_number>/smp_affinity
141 134
142 Setting default receive socket buffer size: 135 Setting default receive socket buffer size:
143 sysctl -w net.core.rmem_default=524287 136 sysctl -w net.core.rmem_default=524287
@@ -151,8 +144,14 @@ PERFORMANCE
151 Setting maximum backlog (# of unprocessed packets before kernel drops): 144 Setting maximum backlog (# of unprocessed packets before kernel drops):
152 sysctl -w net.core.netdev_max_backlog=300000 145 sysctl -w net.core.netdev_max_backlog=300000
153 146
154 Set smp_affinity (on a multiprocessor system) to a single CPU: 147 Setting TCP read buffers (min/default/max):
155 echo 00000001 > /proc/irq/<interrupt_number>/smp_affinity 148 sysctl -w net.ipv4.tcp_rmem="10000000 10000000 10000000"
149
150 Setting TCP write buffers (min/pressure/max):
151 sysctl -w net.ipv4.tcp_wmem="10000000 10000000 10000000"
152
153 Setting TCP buffer space (min/pressure/max):
154 sysctl -w net.ipv4.tcp_mem="10000000 10000000 10000000"
156 155
157 TCP window size for single connections: 156 TCP window size for single connections:
158 The receive buffer (RX_WINDOW) size must be at least as large as the 157 The receive buffer (RX_WINDOW) size must be at least as large as the
@@ -186,7 +185,7 @@ DRIVER MESSAGES
186 may be found in /var/log/messages. 185 may be found in /var/log/messages.
187 186
188 Driver up: 187 Driver up:
189 Chelsio Network Driver - version 2.1.0 188 Chelsio Network Driver - version 2.1.1
190 189
191 NIC detected: 190 NIC detected:
192 eth#: Chelsio N210 1x10GBaseX NIC (rev #), PCIX 133MHz/64-bit 191 eth#: Chelsio N210 1x10GBaseX NIC (rev #), PCIX 133MHz/64-bit
@@ -282,13 +281,44 @@ KNOWN ISSUES
282 the number of outstanding transactions, via BIOS configuration 281 the number of outstanding transactions, via BIOS configuration
283 programming of the PCI-X card, to the following: 282 programming of the PCI-X card, to the following:
284 283
285 Data Length (bytes): 2k 284 Data Length (bytes): 1k
286 Total allowed outstanding transactions: 1 285 Total allowed outstanding transactions: 2
287 286
288 Please refer to AMD 8131-HT/PCI-X Errata 26310 Rev 3.08 August 2004, 287 Please refer to AMD 8131-HT/PCI-X Errata 26310 Rev 3.08 August 2004,
289 section 56, "133-MHz Mode Split Completion Data Corruption" for more 288 section 56, "133-MHz Mode Split Completion Data Corruption" for more
290 details with this bug and workarounds suggested by AMD. 289 details with this bug and workarounds suggested by AMD.
291 290
291 It may be possible to work outside AMD's recommended PCI-X settings, try
292 increasing the Data Length to 2k bytes for increased performance. If you
293 have issues with these settings, please revert to the "safe" settings
294 and duplicate the problem before submitting a bug or asking for support.
295
296 NOTE: The default setting on most systems is 8 outstanding transactions
297 and 2k bytes data length.
298
299 4. On multiprocessor systems, it has been noted that an application which
300 is handling 10Gb networking can switch between CPUs causing degraded
301 and/or unstable performance.
302
303 If running on an SMP system and taking performance measurements, it
304 is suggested you either run the latest netperf-2.4.0+ or use a binding
305 tool such as Tim Hockin's procstate utilities (runon)
306 <http://www.hockin.org/~thockin/procstate/>.
307
308 Binding netserver and netperf (or other applications) to particular
309 CPUs will have a significant difference in performance measurements.
310 You may need to experiment which CPU to bind the application to in
311 order to achieve the best performance for your system.
312
313 If you are developing an application designed for 10Gb networking,
314 please keep in mind you may want to look at kernel functions
315 sched_setaffinity & sched_getaffinity to bind your application.
316
317 If you are just running user-space applications such as ftp, telnet,
318 etc., you may want to try the runon tool provided by Tim Hockin's
319 procstate utility. You could also try binding the interface to a
320 particular CPU: runon 0 ifup eth0
321
292 322
293SUPPORT 323SUPPORT
294======= 324=======