Skip to content

hamkee-dev-group/iouringd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iouringd

iouringd is a small Unix-socket daemon that exposes bounded async I/O over Linux io_uring. It is usable as a standalone runtime kit and as a constrained service inside a larger host-local job platform.

The daemon provides:

  • feature probing for io_uring_setup, probed op support, queue sizing, registered files, and registered buffers
  • a stable handshake plus submission/completion wire protocol
  • bounded client admission and per-client credits
  • registered file and registered buffer support where the kernel allows them
  • trace and metrics output over the control socket, plus optional structured stderr logs with --trace-stderr
  • clear startup failures when io_uring is unavailable or blocked by policy

Build

cmake -S . -B build
cmake --build build -j4
python3 ./tests/run_tests.py

The test runner expects binaries under build/tests/ and the daemon at build/bin/iouringd.

Run

./build/bin/iouringd /tmp/iouringd.sock

Supported daemon arguments:

iouringd [--ring-entries N] [--max-clients N] \
  [--registered-fds N] [--registered-buffers N] \
  [--per-client-credits N] [--io-bytes-max N] \
  [--job-id N] [--trace-stderr] SOCKET_PATH

--job-id annotates stderr trace and metrics records for correlation with cgroupd or another orchestrator. --trace-stderr emits structured trace and metrics lines to stderr in addition to the socket protocol trace stream.

Documents

Examples

Failure Modes

If io_uring startup fails, the daemon exits with code 1 and emits a clear stderr message:

  • unsupported kernel: io_uring setup is unavailable on this kernel (ENOSYS)
  • blocked by policy: io_uring setup blocked by kernel policy or sandbox
  • probe yielded no supported operations: io_uring probe reported no supported operations

That behavior is covered by the integration tests.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors