]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blame - Documentation/networking/s2io.txt
[PATCH] S2io: Multi buffer mode support
[mirror_ubuntu-hirsute-kernel.git] / Documentation / networking / s2io.txt
CommitLineData
1da177e4
LT
1S2IO Technologies XFrame 10 Gig adapter.
2-------------------------------------------
3
4I. Module loadable parameters.
5When loaded as a module, the driver provides a host of Module loadable
6parameters, so the device can be tuned as per the users needs.
7A list of the Module params is given below.
8(i) ring_num: This can be used to program the number of
9 receive rings used in the driver.
10(ii) ring_len: This defines the number of descriptors each ring
11 can have. There can be a maximum of 8 rings.
12(iii) frame_len: This is an array of size 8. Using this we can
13 set the maximum size of the received frame that can
14 be steered into the corrsponding receive ring.
15(iv) fifo_num: This defines the number of Tx FIFOs thats used in
16 the driver.
17(v) fifo_len: Each element defines the number of
18 Tx descriptors that can be associated with each
19 corresponding FIFO. There are a maximum of 8 FIFOs.
20(vi) tx_prio: This is a bool, if module is loaded with a non-zero
21 value for tx_prio multi FIFO scheme is activated.
22(vii) rx_prio: This is a bool, if module is loaded with a non-zero
23 value for tx_prio multi RING scheme is activated.
24(viii) latency_timer: The value given against this param will be
25 loaded into the latency timer register in PCI Config
26 space, else the register is left with its reset value.
27
28II. Performance tuning.
29 By changing a few sysctl parameters.
30 Copy the following lines into a file and run the following command,
31 "sysctl -p <file_name>"
32### IPV4 specific settings
33net.ipv4.tcp_timestamps = 0 # turns TCP timestamp support off, default 1, reduces CPU use
34net.ipv4.tcp_sack = 0 # turn SACK support off, default on
35# on systems with a VERY fast bus -> memory interface this is the big gainer
36net.ipv4.tcp_rmem = 10000000 10000000 10000000 # sets min/default/max TCP read buffer, default 4096 87380 174760
37net.ipv4.tcp_wmem = 10000000 10000000 10000000 # sets min/pressure/max TCP write buffer, default 4096 16384 131072
38net.ipv4.tcp_mem = 10000000 10000000 10000000 # sets min/pressure/max TCP buffer space, default 31744 32256 32768
39
40### CORE settings (mostly for socket and UDP effect)
41net.core.rmem_max = 524287 # maximum receive socket buffer size, default 131071
42net.core.wmem_max = 524287 # maximum send socket buffer size, default 131071
43net.core.rmem_default = 524287 # default receive socket buffer size, default 65535
44net.core.wmem_default = 524287 # default send socket buffer size, default 65535
45net.core.optmem_max = 524287 # maximum amount of option memory buffers, default 10240
46net.core.netdev_max_backlog = 300000 # number of unprocessed input packets before kernel starts dropping them, default 300
47---End of performance tuning file---
48