From: Pavel Begunkov <asml.silence@gmail.com>
To: linux-block@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>,
Christoph Hellwig <hch@infradead.org>,
Pavel Begunkov <asml.silence@gmail.com>
Subject: [PATCH 0/5] block optimisations
Date: Sat, 23 Oct 2021 17:21:31 +0100 [thread overview]
Message-ID: <cover.1635006010.git.asml.silence@gmail.com> (raw)
Another split off from the "block optimisation round" series focusing
on fops.c. It addresses Cristoph's review, the main change is
setting bvec directly instead of passing a "hint"
to bio_iov_iter_get_pages() in 3/5, and a prep patch 2/5.
I don't find a good way how to deduplicate __blkdev_direct_IO_async(),
there are small differences in implementation. If that's fine I'd
suggest to do it afterwards, anyway I want to brush up
__blkdev_direct_IO(), e.g. remove effectively unnecessary DIO_MULTI_BIO
flag.
Performance stays the same, solely 1/5 gives ~4.5 -> 4.7 MIOPS,
plus 1-2% from 3/5.
Pavel Begunkov (5):
block: add single bio async direct IO helper
block: refactor bio_iov_bvec_set()
block: avoid extra iter advance with async iocb
block: kill unused polling bits in __blkdev_direct_IO()
block: add async version of bio_set_polled
block/bio.c | 37 ++++++--------
block/fops.c | 116 ++++++++++++++++++++++++++++++++++++--------
include/linux/bio.h | 6 +++
3 files changed, 116 insertions(+), 43 deletions(-)
--
2.33.1
next reply other threads:[~2021-10-23 16:21 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-23 16:21 Pavel Begunkov [this message]
2021-10-23 16:21 ` [PATCH 1/5] block: add single bio async direct IO helper Pavel Begunkov
2021-10-23 16:21 ` [PATCH 2/5] block: refactor bio_iov_bvec_set() Pavel Begunkov
2021-10-25 7:31 ` Christoph Hellwig
2021-10-23 16:21 ` [PATCH 3/5] block: avoid extra iter advance with async iocb Pavel Begunkov
2021-10-25 7:33 ` Christoph Hellwig
2021-10-25 11:10 ` Pavel Begunkov
2021-10-23 16:21 ` [PATCH 4/5] block: kill unused polling bits in __blkdev_direct_IO() Pavel Begunkov
2021-10-23 16:46 ` Pavel Begunkov
2021-10-24 15:09 ` Jens Axboe
2021-10-24 17:17 ` Pavel Begunkov
2021-10-24 18:11 ` Jens Axboe
2021-10-25 7:35 ` Christoph Hellwig
2021-10-25 10:12 ` Pavel Begunkov
2021-10-25 10:27 ` Pavel Begunkov
2021-10-27 6:47 ` Christoph Hellwig
2021-10-23 16:21 ` [PATCH 5/5] block: add async version of bio_set_polled Pavel Begunkov
2021-10-25 7:36 ` Christoph Hellwig
2021-10-25 10:20 ` Pavel Begunkov
2021-10-25 7:28 ` [PATCH 0/5] block optimisations Christoph Hellwig
2021-10-26 23:30 ` (subset) " Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1635006010.git.asml.silence@gmail.com \
--to=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=hch@infradead.org \
--cc=linux-block@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.