Io_Uring module

ring_init

procedureextensionsince 0.31.0Source

Creates a ring of at least entries submission entries (a power of two, the kernel rounds up) and maps it. flags are IORING_SETUP_* flags. Returns 0, or the negative errno of the failing step: -ENOSYS where the kernel has no io_uring, -EPERM where policy forbids it (a seccomp filter, kernel.io_uring_disabled), -ENOMEM when the locked-memory limit of an old kernel is too small. IORING_SETUP_NO_MMAP, SQE_MIXED, CQE_MIXED and SQ_REWIND change the memory layout in ways this type does not follow: they return -EINVAL; drive such rings with the system calls directly.

ring_init :: (ring: *Ring, entries: u32, flags: u32 = 0) -> s32

Parameters

ring: *Ring
entries: u32
flags: u32 = 0

Returns

s32

See also