io_uring: utilize the io batching infrastructure for more efficient polled IO
authorJens Axboe <axboe@kernel.dk>
Tue, 12 Oct 2021 15:28:46 +0000 (09:28 -0600)
committerJens Axboe <axboe@kernel.dk>
Mon, 18 Oct 2021 20:40:46 +0000 (14:40 -0600)
commitb688f11e86c9a22169a0e522530982735d2db19b
treee8a8c0f3d88d4194576c61993e056075e4029fb6
parentc234a65392062504acf04afe0ae404cca61a8e1a
io_uring: utilize the io batching infrastructure for more efficient polled IO

Wire up using an io_comp_batch for f_op->iopoll(). If the lower stack
supports it, we can handle high rates of polled IO more efficiently.

This raises the single core efficiency on my system from ~6.1M IOPS to
~6.6M IOPS running a random read workload at depth 128 on two gen2
Optane drives.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c