io_uring_submit(3) liburing Manual io_uring_submit(3) NAME io_uring_submit - submit requests to the submission queue SYNOPSIS #include int io_uring_submit(struct io_uring *ring); DESCRIPTION The io_uring_submit(3) function submits the next events to the submission queue belonging to the ring. After the caller retrieves a submission queue entry (SQE) with io_ur- ing_get_sqe(3) and prepares the SQE using one of the provided helpers, it can be submitted with io_uring_submit(3). RETURN VALUE On success io_uring_submit(3) returns the number of submitted submission queue entries, if SQPOLL is not used. If SQPOLL is used, the return value may report a higher number of submitted entries than actually submitted. If the user requires accurate information about how many submission queue en- tries have been successfully submitted, while using SQPOLL, the user must fall back to repeatedly submitting a single submission queue entry. On failure it returns -errno. NOTES For any request that passes in data in a struct, that data must remain valid until the request has been successfully submitted. It need not remain valid until completion. Once a request has been submitted, the in-kernel state is stable. Very early kernels (5.4 and earlier) required state to be stable until the completion occurred. Applications can test for this behav- ior by inspecting the IORING_FEAT_SUBMIT_STABLE flag passed back from io_uring_queue_init_params(3). In general, the man pages for the individ- ual prep helpers will have a note mentioning this fact as well, if required for the given command. SEE ALSO io_uring_get_sqe(3), io_uring_submit_and_wait(3), io_uring_sub- mit_and_wait_timeout(3) liburing-2.1 November 15, 2021 io_uring_submit(3)