diff options
Diffstat (limited to 'man/io_uring_buf_ring_cq_advance.3')
-rw-r--r-- | man/io_uring_buf_ring_cq_advance.3 | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/man/io_uring_buf_ring_cq_advance.3 b/man/io_uring_buf_ring_cq_advance.3 new file mode 100644 index 0000000..caf882f --- /dev/null +++ b/man/io_uring_buf_ring_cq_advance.3 @@ -0,0 +1,41 @@ +.\" Copyright (C) 2022 Jens Axboe <axboe@kernel.dk> +.\" +.\" SPDX-License-Identifier: LGPL-2.0-or-later +.\" +.TH io_uring_buf_ring_cq_advance 3 "May 18, 2022" "liburing-2.2" "liburing Manual" +.SH NAME +io_uring_buf_ring_cq_advance \- advance index of provided buffer and CQ ring +.SH SYNOPSIS +.nf +.B #include <liburing.h> +.PP +.BI "int io_uring_buf_ring_cq_advance(struct io_uring *" ring ", +.BI " struct io_uring_buf_ring *" br ", +.BI " int " count ");" +.fi +.SH DESCRIPTION +.PP +The +.BR io_uring_buf_ring_cq_advance (3) +commits +.I count +previously added buffers to the shared buffer ring +.IR br , +making them visible to the kernel and hence consumable. This passes ownership +of the buffer to the ring. At the same time, it advances the CQ ring of +.I ring +by +.I count +amount. This effectively bundles both a +.BR io_uring_buf_ring_advance (3) +call and a +.BR io_uring_cq_avance (3) +into one operation. Since updating either ring index entails a store memory +barrier, doing both at once is more efficient. + +.SH RETURN VALUE +None +.SH SEE ALSO +.BR io_uring_register_buf_ring (3), +.BR io_uring_buf_ring_add (3), +.BR io_uring_buf_ring_advance (3) |