* [PATCH v5 0/8] block: prepare for multipage bvecs
@ 2016-04-17 21:29 Ming Lei
2016-04-17 21:29 ` [PATCH v5 5/8] fs: xfs: replace BIO_MAX_SECTORS with BIO_MAX_PAGES Ming Lei
2016-05-03 1:03 ` [PATCH v5 0/8] block: prepare for multipage bvecs Ming Lei
0 siblings, 2 replies; 5+ messages in thread
From: Ming Lei @ 2016-04-17 21:29 UTC (permalink / raw)
To: Jens Axboe, linux-kernel
Cc: Christoph Hellwig, Jan Kara, Mike Snitzer, Ming Lei,
open list:XFS FILESYSTEM, linux-block, Al Viro, Shaohua Li,
Tejun Heo, Keith Busch, Kent Overstreet, Kirill A. Shutemov,
open list:DRBD DRIVER
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
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
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v5 5/8] fs: xfs: replace BIO_MAX_SECTORS with BIO_MAX_PAGES
2016-04-17 21:29 [PATCH v5 0/8] block: prepare for multipage bvecs Ming Lei
@ 2016-04-17 21:29 ` Ming Lei
2016-05-02 14:57 ` Christoph Hellwig
2016-05-03 1:03 ` [PATCH v5 0/8] block: prepare for multipage bvecs Ming Lei
1 sibling, 1 reply; 5+ messages in thread
From: Ming Lei @ 2016-04-17 21:29 UTC (permalink / raw)
To: Jens Axboe, linux-kernel
Cc: Christoph Hellwig, Ming Lei, supporter:XFS FILESYSTEM,
linux-block, Al Viro
BIO_MAX_PAGES is used as maximum count of bvecs, so
replace BIO_MAX_SECTORS with BIO_MAX_PAGES since
BIO_MAX_SECTORS is to be removed.
Signed-off-by: Ming Lei <ming.lei@canonical.com>
---
fs/xfs/xfs_buf.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c
index 9a2191b..b9ecb2d 100644
--- a/fs/xfs/xfs_buf.c
+++ b/fs/xfs/xfs_buf.c
@@ -1161,9 +1161,7 @@ xfs_buf_ioapply_map(
next_chunk:
atomic_inc(&bp->b_io_remaining);
- nr_pages = BIO_MAX_SECTORS >> (PAGE_SHIFT - BBSHIFT);
- if (nr_pages > total_nr_pages)
- nr_pages = total_nr_pages;
+ nr_pages = min(total_nr_pages, BIO_MAX_PAGES);
bio = bio_alloc(GFP_NOIO, nr_pages);
bio->bi_bdev = bp->b_target->bt_bdev;
--
1.9.1
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v5 5/8] fs: xfs: replace BIO_MAX_SECTORS with BIO_MAX_PAGES
2016-04-17 21:29 ` [PATCH v5 5/8] fs: xfs: replace BIO_MAX_SECTORS with BIO_MAX_PAGES Ming Lei
@ 2016-05-02 14:57 ` Christoph Hellwig
0 siblings, 0 replies; 5+ messages in thread
From: Christoph Hellwig @ 2016-05-02 14:57 UTC (permalink / raw)
To: Ming Lei
Cc: linux-block, Christoph Hellwig, linux-kernel,
supporter:XFS FILESYSTEM, Jens Axboe, Al Viro
On Mon, Apr 18, 2016 at 05:29:54AM +0800, Ming Lei wrote:
> BIO_MAX_PAGES is used as maximum count of bvecs, so
> replace BIO_MAX_SECTORS with BIO_MAX_PAGES since
> BIO_MAX_SECTORS is to be removed.
>
> Signed-off-by: Ming Lei <ming.lei@canonical.com>
Looks fine,
Reviewed-by: Christoph Hellwig <hch@lst.de>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v5 0/8] block: prepare for multipage bvecs
2016-04-17 21:29 [PATCH v5 0/8] block: prepare for multipage bvecs Ming Lei
2016-04-17 21:29 ` [PATCH v5 5/8] fs: xfs: replace BIO_MAX_SECTORS with BIO_MAX_PAGES Ming Lei
@ 2016-05-03 1:03 ` Ming Lei
2016-05-08 9:27 ` Christoph Hellwig
1 sibling, 1 reply; 5+ messages in thread
From: Ming Lei @ 2016-05-03 1:03 UTC (permalink / raw)
To: Jens Axboe, Linux Kernel Mailing List
Cc: Christoph Hellwig, Jan Kara, Mike Snitzer, Ming Lei,
open list:XFS FILESYSTEM, linux-block, Al Viro, Shaohua Li,
Tejun Heo, Keith Busch, Kent Overstreet, Kirill A. Shutemov,
open list:DRBD DRIVER
On Mon, Apr 18, 2016 at 5:29 AM, 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, 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
>
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v5 0/8] block: prepare for multipage bvecs
2016-05-03 1:03 ` [PATCH v5 0/8] block: prepare for multipage bvecs Ming Lei
@ 2016-05-08 9:27 ` Christoph Hellwig
0 siblings, 0 replies; 5+ messages in thread
From: Christoph Hellwig @ 2016-05-08 9:27 UTC (permalink / raw)
To: Ming Lei
Cc: linux-block, Jan Kara, Mike Snitzer, Christoph Hellwig,
Linux Kernel Mailing List, open list:XFS FILESYSTEM, Jens Axboe,
Al Viro, Shaohua Li, Tejun Heo, Keith Busch, Kent Overstreet,
Kirill A. Shutemov, open list:DRBD DRIVER
On Tue, May 03, 2016 at 09:03:58AM +0800, Ming Lei wrote:
> 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.
Agreed. I'm fine with the series and it looks harmless enough for
4.7.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-05-08 9:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-17 21:29 [PATCH v5 0/8] block: prepare for multipage bvecs Ming Lei
2016-04-17 21:29 ` [PATCH v5 5/8] fs: xfs: replace BIO_MAX_SECTORS with BIO_MAX_PAGES Ming Lei
2016-05-02 14:57 ` Christoph Hellwig
2016-05-03 1:03 ` [PATCH v5 0/8] block: prepare for multipage bvecs Ming Lei
2016-05-08 9:27 ` Christoph Hellwig
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox