Thread (3 messages) 3 messages, 2 authors, 2016-05-08

Re: [PATCH v5 0/8] block: prepare for multipage bvecs

From: Ming Lei <hidden>
Date: 2016-05-03 01:04:07
Also in: linux-xfs, lkml

On Mon, Apr 18, 2016 at 5:29 AM, Ming Lei [off-list ref] wrote:
Hi,

Interests[1] have been shown in multipage bvecs, so this patchset
try to prepare for the support and do two things:

1) the 1st 4 patches use bvec iterator to implement iterate_bvec(),
then we can drop the non-standard way for iterating bvec, which
can be thought as a good cleanup for lib/iov_iter.c

2) remove BIO_MAX_SECTORS & BIO_MAX_SIZE, and now there is only
one user for each. Once multipage bvecs is introduced, one bio
may hold lots of sectors, and we should always use sort of BIO_MAX_VECS
which should be introduced in future and is similiar with current
BIO_MAX_PAGES.

The only functional change is iterate_bvec():lib/iov_iter.c

xfstests(-a auto) over loop aio is run for ext4/xfs to verify
the change and no regression found with this patchset.

Jens, I am confidant this time, so please give it a go if no one
objects. I appreciate someone(AI? or anyone) can give a review on
the patch 4/8 about iterate_bvec() change.

V5:
        - use bvec's iterator to figure new base vec address and
        update 'skip' correctly
        - run xfstests(-a auto) on loop aio/dio for verifying
        the change in iterate_bvec(), and no regression reported
        - use stree-ng to trigger heavy swap over swapfile to verify
        change in iterate_bvec() too, looks everything is fine
Hi Jens,

Any possibility to make v5 into v4.7 so that we can move on about
multipage bvecs?

BTW, even though not considering mp bvecs, this patchset is still a
good cleanup.

thanks,
Ming
V4:
        - make xfstests cover xfs
        - rebase on for-next of block tree
V3:
        - include kenrel.h & bug.h in bvec.h for fix comiling failure on arm
        as reported by 0day ktest
        - build test on arm & arm64

V2:
        - rename bvec_iter.h as bvec.h
        - always include bvec.h into blk_types.h as suggested by Christoph

V1:
        - don't move BIO_MAX_* to bvec_iter.h as pointed out by Christoph
        - run xfstests against v4.6-rc1-next-20160329
        - add Reviewed-by
        - for 1,4 and 5, Reviewd-by not added, Christoph still expressed
        'this looks fine to me.'


Ming Lei (8):
  block: move bvec iterator into include/linux/bvec.h
  block: move two bvec structure into bvec.h
  block: mark 1st parameter of bvec_iter_advance as const
  iov_iter: use bvec iterator to implement iterate_bvec()
  fs: xfs: replace BIO_MAX_SECTORS with BIO_MAX_PAGES
  block: bio: remove BIO_MAX_SECTORS
  block: drbd: avoid to use BIO_MAX_SIZE
  block: bio: remove BIO_MAX_SIZE

 drivers/block/drbd/drbd_int.h |  4 +-
 fs/xfs/xfs_buf.c              |  4 +-
 include/linux/bio.h           | 52 -----------------------
 include/linux/blk_types.h     | 22 +---------
 include/linux/bvec.h          | 96 +++++++++++++++++++++++++++++++++++++++++++
 lib/iov_iter.c                | 45 +++++++-------------
 6 files changed, 115 insertions(+), 108 deletions(-)
 create mode 100644 include/linux/bvec.h

--
1.9.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help