io_uring_submit_and_wait(3) liburing Manual io_uring_submit_and_wait(3)

io_uring_submit_and_wait - submit requests to the submission queue and wait for completion

#include <liburing.h>
int io_uring_submit_and_wait(struct io_uring *ring,
                             unsigned wait_nr);

The io_uring_submit_and_wait(3) function submits the next requests from the submission queue belonging to the ring and waits for wait_nr completion events.

After the caller retrieves a submission queue entry (SQE) with io_uring_get_sqe(3) and prepares the SQE, it can be submitted with io_uring_submit_and_wait(3).

Ideally used with a ring setup with IORING_SETUP_SINGLE_ISSUER|IORING_SETUP_DEFER_TASKRUN as that will greatly reduce the number of context switches that an application will see waiting on multiple requests.

On success io_uring_submit_and_wait(3) returns the number of submitted submission queue entries. On failure it returns -errno.

io_uring_queue_init_params(3), io_uring_get_sqe(3), io_uring_submit(3), io_uring_submit_and_wait_timeout(3)

November 15, 2021 liburing-2.1