Overall I think this looks pretty reasonable from an io_uring point of view. Some minor comments in the replies that would need to get resolved, and we'll need to get Ming's buffer work done to reap the dio benefits. I ran a quick benchmark here, doing 4k buffered random reads from a big file. I see about 25% improvement for that case, and notably at half the CPU usage. -- Jens Axboe