io_uring: wire up bio allocation cache
authorJens Axboe <axboe@kernel.dk>
Mon, 8 Mar 2021 18:40:23 +0000 (11:40 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 9 Aug 2021 21:14:16 +0000 (15:14 -0600)
commit38949f870e205b60275c2870d0428e3afcb42a6f
tree920316e93d9a0b6210afeffe3c7586ab0af9d2d0
parent679b9d5cc7b45c3a135c6cf683a4238bf77e9945
io_uring: wire up bio allocation cache

Initialize a bio allocation cache, and mark it as being used for
IOPOLL. We could use it for non-polled IO as well, but it'd need some
locking and probably would negate much of the win in that case.

We start with IOPOLL, as completions are locked by the ctx lock anyway.
So no further locking is needed there.

This brings an IOPOLL gen2 Optane QD=128 workload from ~3.0M IOPS to
~3.25M IOPS.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
include/linux/io_uring.h