io_uring_memory_size_params(3) liburing Manual io_uring_memory_size_params(3)

io_uring_memory_size_params - get memory size needed for a ring with params

#include <liburing.h>
ssize_t io_uring_memory_size_params(unsigned entries, struct io_uring_params *p);

The io_uring_memory_size_params(3) function returns the total memory size needed for an io_uring ring with entries entries and the parameters specified in 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 io_uring_memory_size(3) by allowing the caller to specify full ring parameters including CQ size via p->cq_entries when IORING_SETUP_CQSIZE is set in p->flags.

Returns the required memory size in bytes on success, or a negative errno value on error.

Invalid entries value (0 or too large without IORING_SETUP_CLAMP).

io_uring_memory_size(3), io_uring_mlock_size_params(3), io_uring_queue_init_params(3)

January 18, 2025 liburing-2.11