It’s the same architecture as the Infiniband verbs (WR+CQ, a primer), one of the (if not the) best asynchronous I/O interface I’ve ever used. It definitely looks like a promising piece of work.
io_uring supports linking operations, but there is no way to generically pass the result of one system call to the next. With a simple bpf program, the application can tell the kernel how the result of open is to be passed to read — including the error handling, which then allocates its own buffers and keeps reading until the entire file is consumed and finally closed: we can checksum, compress, or search an entire file with a single system call.
It’s the same architecture as the Infiniband verbs (WR+CQ, a primer), one of the (if not the) best asynchronous I/O interface I’ve ever used. It definitely looks like a promising piece of work.
Programmable shaders all over again.
You think it’ll be that revolutionary? Damn, I better start learning how to use io_uring then.
🤔
KERNEL MONAD
KERNEL MONAD