1io_uring_register_iowq_max_workerlsi(b3u)ring Miaon_uuarling_register_iowq_max_workers(3)
2
3
4

NAME

6       io_uring_register_iowq_max_workers  -  modify the maximum allowed async
7       workers
8

SYNOPSIS

10       #include <liburing.h>
11
12       int io_uring_register_iowq_max_workers(struct io_uring *ring,
13                                              unsigned int *values);
14

DESCRIPTION

16       io_uring async workers are split into two types:
17
18       Bounded
19              These workers have a bounded execution time.  Examples  of  that
20              are  filesystem  reads,  which normally complete in a relatively
21              short amount of time. In case of disk failures, they  are  still
22              bounded by a timeout operation that will abort them if exceeded.
23
24       Unbounded
25              Work  items  here  may take an indefinite amount of time to com‐
26              plete. Examples include doing IO to sockets, pipes, or any other
27              non-regular type of file.
28
29
30       By  default, the amount of bounded IO workers is limited to how many SQ
31       entries the ring was setup with, or 4 times the number of  online  CPUs
32       in the system, whichever is smaller. Unbounded workers are only limited
33       by the process task limit, as  indicated  by  the  rlimit  RLIMIT_NPROC
34       limit.
35
36       This can be modified by calling io_uring_register_iowq_max_workers with
37       ring set to the ring in question, and values pointing to  an  array  of
38       two  values.  The  first  element  should contain the number of desired
39       bounded workers, and the second element should contain  the  number  of
40       desired unbounded workers. These are both maximum values, io_uring will
41       not maintain a high count of idle workers, they are  reaped  when  they
42       are not necessary anymore.
43
44       If called with both values set to 0, the existing values are returned.
45
46

RETURN VALUE

48       Returns  0  on  success, with values containing the previous values for
49       the settings. On error, any of the following may be returned.
50
51       -EFAULT
52              The kernel was unable to copy the memory pointer to by values as
53              it was invalid.
54
55       -EINVAL
56              values  was  NULL or the new values exceeded the maximum allowed
57              value.
58

SEE ALSO

60       io_uring_queue_init(3), io_uring_register(2)
61
62
63
64liburing-2.2                    March 13,i2o0_2u2ring_register_iowq_max_workers(3)
Impressum