path: root/man
diff options
authorJens Axboe <>2019-02-10 15:54:30 -0700
committerJens Axboe <>2019-02-10 15:54:30 -0700
commit87ec82f00f58fc7688d8863b8e795c4957516098 (patch)
tree207e402b50de83575e65c5d21dcef551ad89103a /man
parentf62fdcd85274af3cf7c58725082ad93948b5a5f0 (diff)
man/io_uring_enter: mention that SQE entries are always fully consumed
With a recent change to the kernel side, we now fully guarantee that once io_uring_enter(2) returns that X entries have been submitted, it's completely safe to reuse tohse entries. This used to not always be the case, if an SQE had to be punted to async context for submission. This makes for a more reliable and nicer interface. Signed-off-by: Jens Axboe <>
Diffstat (limited to 'man')
1 files changed, 7 insertions, 0 deletions
diff --git a/man/io_uring_enter.2 b/man/io_uring_enter.2
index 6c1f242..92cc77e 100644
--- a/man/io_uring_enter.2
+++ b/man/io_uring_enter.2
@@ -52,6 +52,13 @@ flag in
.BR io_uring_setup(2)),
as for IRQ driven I/O, the application can just check the completion
queue without entering the kernel.
+When the system call returns that a certain amount of SQEs have been
+consumed and submitted, it's safe to reuse SQE entries in the ring. This is
+true even if the actual IO submission had to be punted to async context,
+which means that the SQE may in fact not have been submitted yet. If the
+kernel requires later use of a particular SQE entry, it will have made a
+private copy of it.
.I sig
is a pointer to a signal mask (see