ThwipHome

Runtime / Type

io_uring

A Linux completion runtime that owns its ring, operations, sockets, and provided buffers.

Configuration

[runtime]
type = "io_uring"
sq_entries = 4096
cq_entries = 8192
buf_ring_size = 16384
buf_size = 8192
Key Default Constraint
sq_entries 4096 Greater than zero.
cq_entries 8192 Greater than zero.
buf_ring_size 16384 Power of two, 1–32768.
buf_size 8192 bytes Greater than zero.

How it behaves

The worker submits accept, receive, send, proxy, and control operations and dispatches completion entries by operation identity. Provided buffer rings supply receive memory. Queue-saturation scheduling defers work safely when submission space is exhausted, and shutdown uses eventfd/control operations and cancellation.

Sizing

Submission entries bound concurrently queued work; completion entries provide headroom for results. Buffer-ring memory is approximately buf_ring_size × buf_size before other worker state, so the defaults represent a deliberate memory commitment. Reduce both together on constrained systems and load-test fragmentation and concurrency.

Use io_uring when

Use Auto if io_uring is preferred but not mandatory.