SetupParameters

Passed in for io_uring_setup(2). Copied back with updated info on success.

C API: struct io_uring_params

version(linux)
@nogc
struct SetupParameters {
SetupFlags flags;
SetupFeatures features;
uint wq_fd;
SubmissionQueueRingOffsets sq_off;
CompletionQueueRingOffsets cq_off;
}

Members

Variables

COMPLETION_QUEUE_RING_OFFSET
enum ulong COMPLETION_QUEUE_RING_OFFSET;

IORING_OFF_CQ_RING: mmap offset for completion queue ring

SUBMISSION_QUEUE_ENTRIES_OFFSET
enum ulong SUBMISSION_QUEUE_ENTRIES_OFFSET;

IORING_OFF_SQES: mmap offset for submission entries

SUBMISSION_QUEUE_RING_OFFSET
enum ulong SUBMISSION_QUEUE_RING_OFFSET;

IORING_OFF_SQ_RING: mmap offset for submission queue ring

cq_entries
uint cq_entries;

(output) allocated entries in completion queue

sq_entries
uint sq_entries;

(output) allocated entries in submission queue (both ring index array and separate entry array at SUBMISSION_QUEUE_ENTRIES_OFFSET).

sq_thread_cpu
uint sq_thread_cpu;

(input) used if SQ_AFF and SQPOLL flags are active to pin poll thread to specific cpu. right now always checked in kernel for "possible cpu".

sq_thread_idle
uint sq_thread_idle;

(input) used if SQPOLL flag is active; timeout in milliseconds until kernel poll thread goes to sleep.

Meta