Select, pselect

Onload User Guide (UG1586)

Document ID
UG1586
Release Date
2023-07-31
Revision
1.2 English

The select(), pselect() file descriptor set can consist of both accelerated and non-accelerated file descriptors. The environment variable EF_UL_SELECT enables/disables acceleration of the select(), pselect() function calls. Onload supports the following options for the EF_UL_SELECT variable:

Table 1. Options for the EF_UL_SELECT Variable
Value Epoll Behavior
0

Disable acceleration at user-level. Calls to select(), pselect() are handled by the kernel.

Spinning cannot be enabled.

1

Enable acceleration at user-level. Calls to select(), pselect() are processed at user-level.

Spinning can be enabled and interrupts are avoided until an application blocks.

Additional environment variables can be employed to control the select(), pselect() functions and to give priority to accelerated sockets over non-accelerated sockets and other file descriptors. Refer to EF_SELECT_FAST and EF_SELECT_SPIN.