Skip to main content

Module submit_ring

Module submit_ring 

Source
Expand description

Submission ring for batched kernel operations.

Userspace queues SubmitEntry operations into the ring and flushes them with a single SYS_SUBMIT syscall. The kernel processes all entries, capability-checks each one, and writes CompleteEntry results.

One ring transition for N operations. Security enforcement is per-operation (every capability is checked), but the transition cost is amortized.

§Memory layout

The ring is a shared page mapped into both kernel and domain address space. Synchronization uses atomic indices with acquire/release ordering.

Modules§

complete_flags
Completion flags (kernel → domain notifications).
submit_flags
Submission entry flags.

Structs§

CompleteEntry
Completion entry — kernel’s response to a submission.
SubmitEntry
Submission entry — a single kernel operation request.
SubmitRing
Shared-memory ring buffer mapped into both kernel and domain.

Constants§

RING_SIZE
Number of entries in the ring. Sized to fit in a page with completions.
RING_VADDR
Fixed virtual address for the ring in domain address space.