XLIO configuration is performed using environment variables. For the full list of XLIO parameters, please see libxlio README file.
XLIO parameters must be set prior to loading the application with XLIO. You can set the parameters in a system file, which can be run manually or automatically.
All the parameters have defaults that can be modified.
On default startup, the XLIO library prints the XLIO version information, as well as the configuration parameters being used and their values to stderr.
XLIO always logs the values of the XLIO_TRACELEVEL parameter, even when it matches the default setting.
For all other parameters, XLIO logs the parameter values only when they are not equal to the default value.
Commonly used parameters
The following table lists configuration parameters which can be used to tune XLIO performance for more specific use cases.
|
XLIO Configuration Parameter |
Description and Examples |
|---|---|
|
XLIO_TSO |
With Segmentation Offload, or TCP Large Send, TCP can pass a buffer to be
Set XLIO_TSO=1 to ensure Segmentation Offload is on for TX throughput oriented applications. |
|
XLIO_LRO |
Large receive offload (LRO) is a technique for increasing inbound throughput of
Set XLIO_LRO=1 to ensure LRO is turned on for RX throughput oriented applications. |
|
XLIO_CQ_POLL_BATCH_MAX |
Max size of the array while polling the RX CQs in XLIO.
|
|
XLIO_GRO_STREAMS_MAX |
Control the number of TCP streams to perform GRO (generic receive offload) simultaneously.
|
|
XLIO_SELECT_POLL |
The duration in micro-seconds (usec) in which to poll the hardware on Rx path before
|
|
XLIO_SELECT_POLL_OS_RATIO |
This will enable polling of the OS file descriptors while user thread calls
This will result in a single poll of the not-offloaded sockets every
XLIO_SELECT_POLL offloaded sockets (CQ) polls.
|
|
XLIO_TCP_QUICKACK |
If set, disable delayed acknowledge ability.
|
|
XLIO_TCP_SEND_BUFFER_SIZE |
TCP send buffer size.
|
|
XLIO_TX_BUF_SIZE |
Size of Tx data buffer elements allocation.
|
|
XLIO_RX_POLL_ON_TX_TCP |
This parameter enables/disables TCP RX polling during TCP TX operation for faster
|
|
XLIO_SKIP_POLL_IN_RX |
Allow TCP socket to skip CQ polling in rx socket call.
|
|
XLIO_SPEC |
XLIO predefined specification profiles.
|
|
XLIO_MULTILOCK |
Control locking type mechanism for some specific flows.
|
|
XLIO_TCP_2T_RULES |
Use only 2 tuple rules for TCP connections, instead of using 5 tuple rules.
|
|
XLIO_RX_CQ_WAIT_CTRL |
In scenarios of high scale of non blocking sockets in event driven usage such as epoll/poll/select
|
Beta Level Features Configuration Parameters
The following table lists configuration parameters and their possible values for new XLIO Beta level features. The parameters below are disabled by default.
These XLIO features are still experimental and subject to changes. They can help improve performance of multithread applications.
We recommend altering these parameters in a controlled environment until reaching the best performance tuning.
|
XLIO Configuration Parameter |
Description and Examples |
|---|---|
|
XLIO_RING_MIGRATION_RATIO_TX XLIO_RING_MIGRATION_RATIO_RX |
Ring migration ratio is used with the "ring per thread" logic in order to decide when it is beneficial to replace the socket's ring with the ring allocated for the current thread.
|
|
XLIO_RING_DEV_MEM_TX |
XLIO can use the on-device-memory to store the egress packet if it does not fit into the BF inline buffer. This improves application egress latency by reducing the PCI transactions.
|
|
XLIO_TCP_CC_ALGO |
TCP congestion control algorithm.
|
Last updated: