liburing
liburing copied to clipboard
Coalescing of sequential read requests
If I add 100 sequential read requests (e.g. for blocks 0-99 of a file), they appear to be coalesced and executed atomically by the NVME. That is, io_uring_wait_cqe_nr(1) will block until all 100 reads complete.
I see how this helps with throughput, but this can be a problem for an application that cares about latency and is ready to handle individual block reads as soon as they complete.
Is there a flag to prevent this coalescing and if not, would it make sense to add one?