| This document describes the tunable parameters of the Chelsio TCP Offload |
| Module. These parameters can be found under /proc/sys/toe/toe?_tom/, where |
| '?' is the number of the TOE device to be configured, e.g., toe0. The current |
| values of the parameters can be read by 'cat'ing the corresponding file, and |
| can be modified by writing the new value to the files, e.g., using echo(1). |
| |
| - max_host_sndbuf: A connection's send buffer is divided in two parts, one |
| residing in on-card memory and the rest in the host's RAM. This parameter |
| determines the size of the latter part (max_tx_pages, described below, |
| determines the first part). The RAM portion of the send buffer acts as a |
| staging area for data to be shipped to the TOE and in general needs to be |
| only modestly sized. The default value is 32K. |
| |
| - max_tx_pages: This determines the maximum number of on-chip TX memory pages |
| that can be given to each connection. Together with max_host_sndbuf |
| (described above) this determines the total send buffer size. The system |
| will automatically allocate pages to connections so that no connection gets |
| more than max_tx_pages but under memory pressure a connection can have |
| significantly fewer pages. The minimum value is 2 pages and this is also the |
| default. |
| |
| - tx_hold_thres: This parameter is used to decide whether a partially filled |
| TX buffer should be immediately forwarded to the TOE or whether it should be |
| kept to allow more data to accumulate. Forwarding immediately may be |
| beneficial for latency but waiting to build fuller buffers reduces the |
| number of transfers between the host and the TOE and improves CPU |
| utilization. A partially filled buffer is immediately forwarded if the |
| number of unacknowledged data for the connection is less than tx_hold_thres. |
| The default value is 0. |
| |
| - rx_credit_thres: Determines how many RX credits (number of bytes read since |
| the previous credit return) must have accumulated for a connection before |
| we return them to the TOE. The default is 4K. |
| |
| - min_newconn_tx_pages: This is the number of free TX pages that must exist at |
| the time a connection is considered for offloading in order for it to be |
| offloaded. This parameter is part of the TOE's admission control and |
| defaults to 16. A value of 0 effectively disables this test. |
| |
| - auto_passv_open: If set this enables AUTO mode for passive opens. It |
| defaults to 0. |
| |
| - mss: Determines the maximum amount of payload shipped to the TOE in each |
| packet. It defaults to the maximum allowed by the TOE configuration, |
| usually 16K. |
| |
| - del_ack: Determines whether delayed ACK is enabled. Defaults to 1 (on) and |
| changing it affects only new connections. Note that turning off delayed |
| ACKs can be detrimental to performance if communicating with NICs. |
| |
| - max_conn: Maximum number of offloaded connections (excludes listeners). At |
| the moment this limit is considered only during active opens. This |
| parameter is part of the TOE's admission control and defaults to -1, |
| which is unlimited. |
| |
| - soft_backlog_limit: If 0 (default) a listening socket's accept queue limit is |
| hard and any connections established when the accept queue is full are reset. |
| In this mode new connection attempts are accepted as long as there is space |
| in the SYN queue, regardless of the state of the accept queue at the time. |
| If 1 the limit is soft and established connections will be added to the |
| accept queue even if they overflow it, however new connection attempts will |
| be accepted only if the accept queue is under its limit. |
| |
| - tx_lease_time: The time in milliseconds that a connection is granted |
| uninterrupted use of newly allocated TX pages (assuming it has data to |
| transmit continously during that time). This determines the quantum of the |
| TX page scheduler. It defaults to 10. |