]> git.baikalelectronics.ru Git - kernel.git/commit
block: avoid extra iter advance with async iocb
authorPavel Begunkov <asml.silence@gmail.com>
Wed, 27 Oct 2021 12:21:07 +0000 (13:21 +0100)
committerJens Axboe <axboe@kernel.dk>
Wed, 27 Oct 2021 12:54:58 +0000 (06:54 -0600)
commit79217cc9627a15222fca43b9d72e6e25e88d2702
tree02ea0da43b7ad152375b9fb59cd2c90ed0acb1cf
parent1c1fcddea4c9489ac21de34c3b4e5b2027185fb6
block: avoid extra iter advance with async iocb

Nobody cares about iov iterators state if we return -EIOCBQUEUED, so as
the we now have __blkdev_direct_IO_async(), which gets pages only once,
we can skip expensive iov_iter_advance(). It's around 1-2% of all CPU
spent.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/a6158edfbfa2ae3bc24aed29a72f035df18fad2f.1635337135.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c
block/fops.c
include/linux/bio.h