1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
.\" Copyright (C) 2025 Jens Axboe <axboe@kernel.dk>
.\"
.\" SPDX-License-Identifier: LGPL-2.0-or-later
.\"
.TH io_uring_memory_size_params 3 "January 18, 2025" "liburing-2.11" "liburing Manual"
.SH NAME
io_uring_memory_size_params \- get memory size needed for a ring with params
.SH SYNOPSIS
.nf
.B #include <liburing.h>
.PP
.BI "ssize_t io_uring_memory_size_params(unsigned " entries ", struct io_uring_params *" p ");"
.fi
.SH DESCRIPTION
.PP
The
.BR io_uring_memory_size_params (3)
function returns the total memory size needed for an io_uring ring with
.I entries
entries and the parameters specified in
.IR p .
This is useful for applications that want to pre-allocate memory for a ring
or want to know the memory footprint before creating a ring.
This function provides more control than
.BR io_uring_memory_size (3)
by allowing the caller to specify full ring parameters including CQ size
via
.I p->cq_entries
when
.B IORING_SETUP_CQSIZE
is set in
.IR p->flags .
.SH RETURN VALUE
Returns the required memory size in bytes on success, or a negative errno
value on error.
.TP
.B -EINVAL
Invalid entries value (0 or too large without IORING_SETUP_CLAMP).
.SH SEE ALSO
.BR io_uring_memory_size (3),
.BR io_uring_mlock_size_params (3),
.BR io_uring_queue_init_params (3)
|