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.
|
|
Configures the execution model of XLIO. See XLIO Library Architecture for more information about execution models. 0 - Run to completion execution model (Default) Positive Number - Worker Threads execution model - The value determines the number of XLIO worker threads. |
|
|
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. |
|
|
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. |
|
|
Max size of the array while polling the RX CQs in XLIO.
|
|
|
Control the number of TCP streams to perform GRO (generic receive offload) simultaneously.
|
|
|
The duration in micro-seconds (usec) in which to poll the hardware on Rx path before
|
|
|
This will enable polling of the OS file descriptors while user thread calls
|
|
|
If set, disable delayed acknowledge ability.
|
|
|
TCP send buffer size.
|
|
|
Size of Tx data buffer elements allocation.
|
|
|
This parameter enables/disables TCP RX polling during TCP TX operation for faster
|
|
|
Allow TCP socket to skip CQ polling in rx socket call.
|
|
|
XLIO predefined specification profiles.
|
|
|
Control locking type mechanism for some specific flows.
|
|
|
Use only 2 tuple rules for TCP connections, instead of using 5 tuple rules.
|
|
|
In scenarios of high scale of non blocking sockets in event driven usage such as epoll/poll/select
|
|
|
Desired interrupts rate per second for each ring (CQ). The count and period parameters for CQ moderation will change automatically to achieve the desired interrupt rate for the current traffic rate. Default value is 10000 Note: Adjusting the settings of this parameter can address different CPU utilization issues - see CPU Utilization Tuning. |
|
|
Control XLIO internal thread wakeup timer resolution (in milliseconds). Default value is 10 Note: Adjusting the settings of this parameter can address different CPU utilization issues - see CPU Utilization Tuning. |
|
|
Control internal TCP timer resolution (fast timer) in milliseconds. Minimum value is the thread wakeup timer resolution configured in performance.threading.internal_handler.timer_msec. Default value is 100 Note: Adjusting the settings of this parameter can address different CPU utilization issues - see CPU Utilization Tuning. |
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_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: