Message ID | 20210811193533.766613-6-axboe@kernel.dk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable bio recycling for polled IO | expand |
diff --git a/fs/io_uring.c b/fs/io_uring.c index bd3f8529fe6f..00da7bdd2b53 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -2667,7 +2667,7 @@ static int io_prep_rw(struct io_kiocb *req, const struct io_uring_sqe *sqe) !kiocb->ki_filp->f_op->iopoll) return -EOPNOTSUPP; - kiocb->ki_flags |= IOCB_HIPRI; + kiocb->ki_flags |= IOCB_HIPRI | IOCB_ALLOC_CACHE; kiocb->ki_complete = io_complete_rw_iopoll; req->iopoll_completed = 0; } else {
Mark polled IO as being safe for dipping into the bio allocation cache, in case the targeted bio_set has it enabled. 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 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)