By default, io_uring limits the unbounded workers created to the maximum processor count set
by RLIMIT_NPROC and the bounded workers is a function of the SQ ring size and the number of
CPUs in the system. Sometimes this can be excessive (or too little, for bounded), and this
command provides a way to change the count per ring (per NUMA node) instead.
val must be set to an uint pointer to an array of two values, with the values in the
array being set to the maximum count of workers per NUMA node. Index 0 holds the bounded
worker count, and index 1 holds the unbounded worker count. On successful return, the passed
in array will contain the previous maximum values for each type. If the count being passed in
is 0, then this command returns the current maximum values and doesn't modify the current
setting.
By default, io_uring limits the unbounded workers created to the maximum processor count set by RLIMIT_NPROC and the bounded workers is a function of the SQ ring size and the number of CPUs in the system. Sometimes this can be excessive (or too little, for bounded), and this command provides a way to change the count per ring (per NUMA node) instead.
val must be set to an uint pointer to an array of two values, with the values in the array being set to the maximum count of workers per NUMA node. Index 0 holds the bounded worker count, and index 1 holds the unbounded worker count. On successful return, the passed in array will contain the previous maximum values for each type. If the count being passed in is 0, then this command returns the current maximum values and doesn't modify the current setting.
Note: Available since 5.15