liburing icon indicating copy to clipboard operation
liburing copied to clipboard

Question: will io_uring block in this scenario in the same way as libaio?

Open travisdowns opened this issue 1 year ago • 8 comments

Currently libaio-based IO may block in io_submit(2) even if RWF_NOWAIT is passed if we hit the nr_requests limit of requests enqueued in the block layer. This is a death sentence for async thread-per-core architectures where if the only thread blocks all work stops.

Will io_uring block in a similar way in io_uring_enter? I.e., does it try to do the same type of IO setup that io_submit does "sync" with the system call, relying on NOWAIT to ensure it doesn't block? Or does it always punt to some kernel thread to make those calls?

Ref: https://lore.kernel.org/linux-block/[email protected]/

travisdowns avatar Jul 17 '24 17:07 travisdowns