diff options
author | Jaroslav Kysela <perex@tm8103> | 2005-11-07 05:02:51 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@tm8103> | 2005-11-07 05:02:51 -0500 |
commit | 1d4ae4a119e5ba711f12b05cdf27f794460add4b (patch) | |
tree | 13a196ce55115d8f64acf0db86314f5abc847b40 /Documentation | |
parent | c2f2f0fa3829a8da1e029346c4f7e8da82f95d62 (diff) | |
parent | 0b154bb7d0cce80e9c0bcf11d4f9e71b59409d26 (diff) |
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DocBook/kernel-api.tmpl | 6 | ||||
-rw-r--r-- | Documentation/arm/README | 7 | ||||
-rw-r--r-- | Documentation/networking/s2io.txt | 199 | ||||
-rw-r--r-- | Documentation/scsi/LICENSE.qla2xxx | 45 |
4 files changed, 203 insertions, 54 deletions
diff --git a/Documentation/DocBook/kernel-api.tmpl b/Documentation/DocBook/kernel-api.tmpl index 4d9b66d8b4db..ec474e5a25ed 100644 --- a/Documentation/DocBook/kernel-api.tmpl +++ b/Documentation/DocBook/kernel-api.tmpl | |||
@@ -239,9 +239,9 @@ X!Ilib/string.c | |||
239 | <title>Network device support</title> | 239 | <title>Network device support</title> |
240 | <sect1><title>Driver Support</title> | 240 | <sect1><title>Driver Support</title> |
241 | !Enet/core/dev.c | 241 | !Enet/core/dev.c |
242 | </sect1> | 242 | !Enet/ethernet/eth.c |
243 | <sect1><title>8390 Based Network Cards</title> | 243 | !Einclude/linux/etherdevice.h |
244 | !Edrivers/net/8390.c | 244 | !Enet/core/wireless.c |
245 | </sect1> | 245 | </sect1> |
246 | <sect1><title>Synchronous PPP</title> | 246 | <sect1><title>Synchronous PPP</title> |
247 | !Edrivers/net/wan/syncppp.c | 247 | !Edrivers/net/wan/syncppp.c |
diff --git a/Documentation/arm/README b/Documentation/arm/README index a6f718e90a86..5ed6f3530b86 100644 --- a/Documentation/arm/README +++ b/Documentation/arm/README | |||
@@ -8,10 +8,9 @@ Compilation of kernel | |||
8 | --------------------- | 8 | --------------------- |
9 | 9 | ||
10 | In order to compile ARM Linux, you will need a compiler capable of | 10 | In order to compile ARM Linux, you will need a compiler capable of |
11 | generating ARM ELF code with GNU extensions. GCC 2.95.1, EGCS | 11 | generating ARM ELF code with GNU extensions. GCC 3.3 is known to be |
12 | 1.1.2, and GCC 3.3 are known to be good compilers. Fortunately, you | 12 | a good compiler. Fortunately, you needn't guess. The kernel will report |
13 | needn't guess. The kernel will report an error if your compiler is | 13 | an error if your compiler is a recognized offender. |
14 | a recognized offender. | ||
15 | 14 | ||
16 | To build ARM Linux natively, you shouldn't have to alter the ARCH = line | 15 | To build ARM Linux natively, you shouldn't have to alter the ARCH = line |
17 | in the top level Makefile. However, if you don't have the ARM Linux ELF | 16 | in the top level Makefile. However, if you don't have the ARM Linux ELF |
diff --git a/Documentation/networking/s2io.txt b/Documentation/networking/s2io.txt index 6726b524ec45..bd528ffbeb4b 100644 --- a/Documentation/networking/s2io.txt +++ b/Documentation/networking/s2io.txt | |||
@@ -1,48 +1,153 @@ | |||
1 | S2IO Technologies XFrame 10 Gig adapter. | 1 | Release notes for Neterion's (Formerly S2io) Xframe I/II PCI-X 10GbE driver. |
2 | ------------------------------------------- | 2 | |
3 | 3 | Contents | |
4 | I. Module loadable parameters. | 4 | ======= |
5 | When loaded as a module, the driver provides a host of Module loadable | 5 | - 1. Introduction |
6 | parameters, so the device can be tuned as per the users needs. | 6 | - 2. Identifying the adapter/interface |
7 | A list of the Module params is given below. | 7 | - 3. Features supported |
8 | (i) ring_num: This can be used to program the number of | 8 | - 4. Command line parameters |
9 | receive rings used in the driver. | 9 | - 5. Performance suggestions |
10 | (ii) ring_len: This defines the number of descriptors each ring | 10 | - 6. Available Downloads |
11 | can have. There can be a maximum of 8 rings. | 11 | |
12 | (iii) frame_len: This is an array of size 8. Using this we can | 12 | |
13 | set the maximum size of the received frame that can | 13 | 1. Introduction: |
14 | be steered into the corrsponding receive ring. | 14 | This Linux driver supports Neterion's Xframe I PCI-X 1.0 and |
15 | (iv) fifo_num: This defines the number of Tx FIFOs thats used in | 15 | Xframe II PCI-X 2.0 adapters. It supports several features |
16 | the driver. | 16 | such as jumbo frames, MSI/MSI-X, checksum offloads, TSO, UFO and so on. |
17 | (v) fifo_len: Each element defines the number of | 17 | See below for complete list of features. |
18 | Tx descriptors that can be associated with each | 18 | All features are supported for both IPv4 and IPv6. |
19 | corresponding FIFO. There are a maximum of 8 FIFOs. | 19 | |
20 | (vi) tx_prio: This is a bool, if module is loaded with a non-zero | 20 | 2. Identifying the adapter/interface: |
21 | value for tx_prio multi FIFO scheme is activated. | 21 | a. Insert the adapter(s) in your system. |
22 | (vii) rx_prio: This is a bool, if module is loaded with a non-zero | 22 | b. Build and load driver |
23 | value for tx_prio multi RING scheme is activated. | 23 | # insmod s2io.ko |
24 | (viii) latency_timer: The value given against this param will be | 24 | c. View log messages |
25 | loaded into the latency timer register in PCI Config | 25 | # dmesg | tail -40 |
26 | space, else the register is left with its reset value. | 26 | You will see messages similar to: |
27 | 27 | eth3: Neterion Xframe I 10GbE adapter (rev 3), Version 2.0.9.1, Intr type INTA | |
28 | II. Performance tuning. | 28 | eth4: Neterion Xframe II 10GbE adapter (rev 2), Version 2.0.9.1, Intr type INTA |
29 | By changing a few sysctl parameters. | 29 | eth4: Device is on 64 bit 133MHz PCIX(M1) bus |
30 | Copy the following lines into a file and run the following command, | 30 | |
31 | "sysctl -p <file_name>" | 31 | The above messages identify the adapter type(Xframe I/II), adapter revision, |
32 | ### IPV4 specific settings | 32 | driver version, interface name(eth3, eth4), Interrupt type(INTA, MSI, MSI-X). |
33 | net.ipv4.tcp_timestamps = 0 # turns TCP timestamp support off, default 1, reduces CPU use | 33 | In case of Xframe II, the PCI/PCI-X bus width and frequency are displayed |
34 | net.ipv4.tcp_sack = 0 # turn SACK support off, default on | 34 | as well. |
35 | # on systems with a VERY fast bus -> memory interface this is the big gainer | 35 | |
36 | net.ipv4.tcp_rmem = 10000000 10000000 10000000 # sets min/default/max TCP read buffer, default 4096 87380 174760 | 36 | To associate an interface with a physical adapter use "ethtool -p <ethX>". |
37 | net.ipv4.tcp_wmem = 10000000 10000000 10000000 # sets min/pressure/max TCP write buffer, default 4096 16384 131072 | 37 | The corresponding adapter's LED will blink multiple times. |
38 | net.ipv4.tcp_mem = 10000000 10000000 10000000 # sets min/pressure/max TCP buffer space, default 31744 32256 32768 | 38 | |
39 | 39 | 3. Features supported: | |
40 | ### CORE settings (mostly for socket and UDP effect) | 40 | a. Jumbo frames. Xframe I/II supports MTU upto 9600 bytes, |
41 | net.core.rmem_max = 524287 # maximum receive socket buffer size, default 131071 | 41 | modifiable using ifconfig command. |
42 | net.core.wmem_max = 524287 # maximum send socket buffer size, default 131071 | 42 | |
43 | net.core.rmem_default = 524287 # default receive socket buffer size, default 65535 | 43 | b. Offloads. Supports checksum offload(TCP/UDP/IP) on transmit |
44 | net.core.wmem_default = 524287 # default send socket buffer size, default 65535 | 44 | and receive, TSO. |
45 | net.core.optmem_max = 524287 # maximum amount of option memory buffers, default 10240 | 45 | |
46 | net.core.netdev_max_backlog = 300000 # number of unprocessed input packets before kernel starts dropping them, default 300 | 46 | c. Multi-buffer receive mode. Scattering of packet across multiple |
47 | ---End of performance tuning file--- | 47 | buffers. Currently driver supports 2-buffer mode which yields |
48 | significant performance improvement on certain platforms(SGI Altix, | ||
49 | IBM xSeries). | ||
50 | |||
51 | d. MSI/MSI-X. Can be enabled on platforms which support this feature | ||
52 | (IA64, Xeon) resulting in noticeable performance improvement(upto 7% | ||
53 | on certain platforms). | ||
54 | |||
55 | e. NAPI. Compile-time option(CONFIG_S2IO_NAPI) for better Rx interrupt | ||
56 | moderation. | ||
57 | |||
58 | f. Statistics. Comprehensive MAC-level and software statistics displayed | ||
59 | using "ethtool -S" option. | ||
60 | |||
61 | g. Multi-FIFO/Ring. Supports up to 8 transmit queues and receive rings, | ||
62 | with multiple steering options. | ||
63 | |||
64 | 4. Command line parameters | ||
65 | a. tx_fifo_num | ||
66 | Number of transmit queues | ||
67 | Valid range: 1-8 | ||
68 | Default: 1 | ||
69 | |||
70 | b. rx_ring_num | ||
71 | Number of receive rings | ||
72 | Valid range: 1-8 | ||
73 | Default: 1 | ||
74 | |||
75 | c. tx_fifo_len | ||
76 | Size of each transmit queue | ||
77 | Valid range: Total length of all queues should not exceed 8192 | ||
78 | Default: 4096 | ||
79 | |||
80 | d. rx_ring_sz | ||
81 | Size of each receive ring(in 4K blocks) | ||
82 | Valid range: Limited by memory on system | ||
83 | Default: 30 | ||
84 | |||
85 | e. intr_type | ||
86 | Specifies interrupt type. Possible values 1(INTA), 2(MSI), 3(MSI-X) | ||
87 | Valid range: 1-3 | ||
88 | Default: 1 | ||
89 | |||
90 | 5. Performance suggestions | ||
91 | General: | ||
92 | a. Set MTU to maximum(9000 for switch setup, 9600 in back-to-back configuration) | ||
93 | b. Set TCP windows size to optimal value. | ||
94 | For instance, for MTU=1500 a value of 210K has been observed to result in | ||
95 | good performance. | ||
96 | # sysctl -w net.ipv4.tcp_rmem="210000 210000 210000" | ||
97 | # sysctl -w net.ipv4.tcp_wmem="210000 210000 210000" | ||
98 | For MTU=9000, TCP window size of 10 MB is recommended. | ||
99 | # sysctl -w net.ipv4.tcp_rmem="10000000 10000000 10000000" | ||
100 | # sysctl -w net.ipv4.tcp_wmem="10000000 10000000 10000000" | ||
101 | |||
102 | Transmit performance: | ||
103 | a. By default, the driver respects BIOS settings for PCI bus parameters. | ||
104 | However, you may want to experiment with PCI bus parameters | ||
105 | max-split-transactions(MOST) and MMRBC (use setpci command). | ||
106 | A MOST value of 2 has been found optimal for Opterons and 3 for Itanium. | ||
107 | It could be different for your hardware. | ||
108 | Set MMRBC to 4K**. | ||
109 | |||
110 | For example you can set | ||
111 | For opteron | ||
112 | #setpci -d 17d5:* 62=1d | ||
113 | For Itanium | ||
114 | #setpci -d 17d5:* 62=3d | ||
115 | |||
116 | For detailed description of the PCI registers, please see Xframe User Guide. | ||
117 | |||
118 | b. Ensure Transmit Checksum offload is enabled. Use ethtool to set/verify this | ||
119 | parameter. | ||
120 | c. Turn on TSO(using "ethtool -K") | ||
121 | # ethtool -K <ethX> tso on | ||
122 | |||
123 | Receive performance: | ||
124 | a. By default, the driver respects BIOS settings for PCI bus parameters. | ||
125 | However, you may want to set PCI latency timer to 248. | ||
126 | #setpci -d 17d5:* LATENCY_TIMER=f8 | ||
127 | For detailed description of the PCI registers, please see Xframe User Guide. | ||
128 | b. Use 2-buffer mode. This results in large performance boost on | ||
129 | on certain platforms(eg. SGI Altix, IBM xSeries). | ||
130 | c. Ensure Receive Checksum offload is enabled. Use "ethtool -K ethX" command to | ||
131 | set/verify this option. | ||
132 | d. Enable NAPI feature(in kernel configuration Device Drivers ---> Network | ||
133 | device support ---> Ethernet (10000 Mbit) ---> S2IO 10Gbe Xframe NIC) to | ||
134 | bring down CPU utilization. | ||
135 | |||
136 | ** For AMD opteron platforms with 8131 chipset, MMRBC=1 and MOST=1 are | ||
137 | recommended as safe parameters. | ||
138 | For more information, please review the AMD8131 errata at | ||
139 | http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26310.pdf | ||
140 | |||
141 | 6. Available Downloads | ||
142 | Neterion "s2io" driver in Red Hat and Suse 2.6-based distributions is kept up | ||
143 | to date, also the latest "s2io" code (including support for 2.4 kernels) is | ||
144 | available via "Support" link on the Neterion site: http://www.neterion.com. | ||
145 | |||
146 | For Xframe User Guide (Programming manual), visit ftp site ns1.s2io.com, | ||
147 | user: linuxdocs password: HALdocs | ||
148 | |||
149 | 7. Support | ||
150 | For further support please contact either your 10GbE Xframe NIC vendor (IBM, | ||
151 | HP, SGI etc.) or click on the "Support" link on the Neterion site: | ||
152 | http://www.neterion.com. | ||
48 | 153 | ||
diff --git a/Documentation/scsi/LICENSE.qla2xxx b/Documentation/scsi/LICENSE.qla2xxx new file mode 100644 index 000000000000..9e15b4f9cd28 --- /dev/null +++ b/Documentation/scsi/LICENSE.qla2xxx | |||
@@ -0,0 +1,45 @@ | |||
1 | Copyright (c) 2003-2005 QLogic Corporation | ||
2 | QLogic Linux Fibre Channel HBA Driver | ||
3 | |||
4 | This program includes a device driver for Linux 2.6 that may be | ||
5 | distributed with QLogic hardware specific firmware binary file. | ||
6 | You may modify and redistribute the device driver code under the | ||
7 | GNU General Public License as published by the Free Software | ||
8 | Foundation (version 2 or a later version). | ||
9 | |||
10 | You may redistribute the hardware specific firmware binary file | ||
11 | under the following terms: | ||
12 | |||
13 | 1. Redistribution of source code (only if applicable), | ||
14 | must retain the above copyright notice, this list of | ||
15 | conditions and the following disclaimer. | ||
16 | |||
17 | 2. Redistribution in binary form must reproduce the above | ||
18 | copyright notice, this list of conditions and the | ||
19 | following disclaimer in the documentation and/or other | ||
20 | materials provided with the distribution. | ||
21 | |||
22 | 3. The name of QLogic Corporation may not be used to | ||
23 | endorse or promote products derived from this software | ||
24 | without specific prior written permission | ||
25 | |||
26 | REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE, | ||
27 | THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY | ||
28 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
29 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | ||
30 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR | ||
31 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
32 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
33 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
35 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
36 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
37 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
38 | POSSIBILITY OF SUCH DAMAGE. | ||
39 | |||
40 | USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT | ||
41 | CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR | ||
42 | OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, | ||
43 | TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN | ||
44 | ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN | ||
45 | COMBINATION WITH THIS PROGRAM. | ||