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>
Tue, 10 Aug 2021 19:57:16 +0000 (13:57 -0600)
commit5a9c6cc2b3024dfb43cd1e18f286c4d3cbb7f26a
tree7d45baedffcd066322948ec4f1b89bf0656c9991
parentccf0b0eb2cae209e768174c8ee4e56f000fc7ace
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.3M IOPS.

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