mbox series

[V2,0/2] block: try to make aligned bio in case of big chunk IO

Message ID 20231109082827.2276696-1-ming.lei@redhat.com (mailing list archive)
Headers show
Series block: try to make aligned bio in case of big chunk IO | expand

Message

Ming Lei Nov. 9, 2023, 8:28 a.m. UTC
Hello,

The 1st adds check to avoid to call into iov_iter_revert() with zero
'unroll'.

The 2nd patch improves big chunk sequential IO performance by aligning
bio with max io size.

V2:
	- add patch 1/2
	- add 'max_size' hint to iov_iter_extract_pages() so that bio/iov
	  iter revert can be minimized, as suggested by Christoph

BTW, the check on 'bio->bi_bdev' isn't removed because there are more
such patterns(P2PDMA, block size check) in __bio_iov_iter_get_pages(),
and we need to audit that bio->bi_bdev is really non-NULL first, so it
shouldn't be part of this patchset

Ming Lei (2):
  block: don't call into iov_iter_revert if nothing is left
  block: try to make aligned bio in case of big chunk IO

 block/bio.c            | 126 +++++++++++++++++++++++++++++++++++++++--
 include/linux/blkdev.h |   5 ++
 2 files changed, 125 insertions(+), 6 deletions(-)