Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1362345 > unrolled thread

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

Started byMing Lei <ming.lei@canonical.com>
First post2016-03-22 07:20 +0100
Last post2016-03-29 03:40 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/8] block: prepare for multipage bvecs Ming Lei <ming.lei@canonical.com> - 2016-03-22 07:20 +0100
    [PATCH 2/8] block: make 'struct bvec_iter' not depend on CONFIG_BLOCK Ming Lei <ming.lei@canonical.com> - 2016-03-22 07:20 +0100
      Re: [PATCH 2/8] block: make 'struct bvec_iter' not depend on  CONFIG_BLOCK Christoph Hellwig <hch@infradead.org> - 2016-03-29 09:30 +0200
    Re: [PATCH 0/8] block: prepare for multipage bvecs Ming Lei <ming.lei@canonical.com> - 2016-03-29 03:40 +0200

#1362345 — [PATCH 0/8] block: prepare for multipage bvecs

FromMing Lei <ming.lei@canonical.com>
Date2016-03-22 07:20 +0100
Subject[PATCH 0/8] block: prepare for multipage bvecs
Message-ID<rfnPz-qn-7@gated-at.bofh.it>
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

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.

xfstests(-a auto) have been run and no regression found by this
patchset against linus v4.5+.

 drivers/block/drbd/drbd_int.h |  4 +--
 fs/xfs/xfs_buf.c              |  2 +-
 include/linux/bio.h           | 55 +------------------------------
 include/linux/blk_types.h     |  4 +--
 include/linux/bvec_iter.h     | 77 +++++++++++++++++++++++++++++++++++++++++++
 lib/iov_iter.c                | 31 +++++++----------
 6 files changed, 94 insertions(+), 79 deletions(-)


[1], http://marc.info/?w=2&r=1&s=++[LSF%2FMM+ATTEND]+block%3A+multipage+bvecs&q=t


Thanks,
Ming

[toc] | [next] | [standalone]


#1362346 — [PATCH 2/8] block: make 'struct bvec_iter' not depend on CONFIG_BLOCK

FromMing Lei <ming.lei@canonical.com>
Date2016-03-22 07:20 +0100
Subject[PATCH 2/8] block: make 'struct bvec_iter' not depend on CONFIG_BLOCK
Message-ID<rfnPA-qn-21@gated-at.bofh.it>
In reply to#1362345
We will use bvec iterator to implement iterate_bvec(): lib/iov_iter.c.

Signed-off-by: Ming Lei <ming.lei@canonical.com>
---
 include/linux/blk_types.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index 86a38ea..fd8527b 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -26,8 +26,6 @@ struct bio_vec {
 	unsigned int	bv_offset;
 };
 
-#ifdef CONFIG_BLOCK
-
 struct bvec_iter {
 	sector_t		bi_sector;	/* device address in 512 byte
 						   sectors */
@@ -39,6 +37,8 @@ struct bvec_iter {
 						   current bvec */
 };
 
+#ifdef CONFIG_BLOCK
+
 /*
  * main unit of I/O for the block layer and lower layers (ie drivers and
  * stacking drivers)
-- 
1.9.1

[toc] | [prev] | [next] | [standalone]


#1365937 — Re: [PATCH 2/8] block: make 'struct bvec_iter' not depend on CONFIG_BLOCK

FromChristoph Hellwig <hch@infradead.org>
Date2016-03-29 09:30 +0200
SubjectRe: [PATCH 2/8] block: make 'struct bvec_iter' not depend on CONFIG_BLOCK
Message-ID<rhWga-2Ka-23@gated-at.bofh.it>
In reply to#1362346
Looks fine,

Reviewed-by: Christoph Hellwig <hch@lst.de>

[toc] | [prev] | [next] | [standalone]


#1365775

FromMing Lei <ming.lei@canonical.com>
Date2016-03-29 03:40 +0200
Message-ID<rhQNs-7eH-21@gated-at.bofh.it>
In reply to#1362345
On Tue, Mar 22, 2016 at 2:12 PM, Ming Lei <ming.lei@canonical.com> 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
>
> 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.
>
> xfstests(-a auto) have been run and no regression found by this
> patchset against linus v4.5+.

Hi Jens,

Looks no one objects this patchset, and the change of iov_iter.c
is a good cleanup too, so what do you think of the patchset?

Thanks,
Ming

>
>  drivers/block/drbd/drbd_int.h |  4 +--
>  fs/xfs/xfs_buf.c              |  2 +-
>  include/linux/bio.h           | 55 +------------------------------
>  include/linux/blk_types.h     |  4 +--
>  include/linux/bvec_iter.h     | 77 +++++++++++++++++++++++++++++++++++++++++++
>  lib/iov_iter.c                | 31 +++++++----------
>  6 files changed, 94 insertions(+), 79 deletions(-)
>
>
> [1], http://marc.info/?w=2&r=1&s=++[LSF%2FMM+ATTEND]+block%3A+multipage+bvecs&q=t
>
>
> Thanks,
> Ming
>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web