Re: [PATCH v6 00/11] simplify block layer based on immutable biovecs

2015-08-13 Thread Ming Lin
On Thu, 2015-08-13 at 11:07 -0600, Jens Axboe wrote: > On 08/13/2015 11:03 AM, Ming Lin wrote: > > On Thu, 2015-08-13 at 10:51 -0600, Jens Axboe wrote: > >> On 08/12/2015 01:07 AM, Ming Lin wrote: > >>> Hi Jens, > >>> > >>> Neil/Mike/Martin have acked/reviewed PATCH 1. > >>> Now it's ready. Could y

Re: [PATCH v6 00/11] simplify block layer based on immutable biovecs

2015-08-13 Thread Jens Axboe
On 08/13/2015 11:03 AM, Ming Lin wrote: On Thu, 2015-08-13 at 10:51 -0600, Jens Axboe wrote: On 08/12/2015 01:07 AM, Ming Lin wrote: Hi Jens, Neil/Mike/Martin have acked/reviewed PATCH 1. Now it's ready. Could you please apply this series? https://git.kernel.org/cgit/linux/kernel/git/mlin/lin

Re: [PATCH v6 00/11] simplify block layer based on immutable biovecs

2015-08-13 Thread Ming Lin
On Thu, 2015-08-13 at 10:51 -0600, Jens Axboe wrote: > On 08/12/2015 01:07 AM, Ming Lin wrote: > > Hi Jens, > > > > Neil/Mike/Martin have acked/reviewed PATCH 1. > > Now it's ready. Could you please apply this series? > > > > https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=block-

Re: [PATCH v6 00/11] simplify block layer based on immutable biovecs

2015-08-13 Thread Jens Axboe
On 08/12/2015 01:07 AM, Ming Lin wrote: Hi Jens, Neil/Mike/Martin have acked/reviewed PATCH 1. Now it's ready. Could you please apply this series? https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=block-generic-req Please note that, for discard, we cap the size at 2G. We'll ch

[PATCH v6 00/11] simplify block layer based on immutable biovecs

2015-08-12 Thread Ming Lin
ately v3: - rebase on top of 4.1-rc2 - support for QUEUE_FLAG_SG_GAPS - update commit logs of patch 2&4 - split bio for chunk_aligned_read v2: https://lkml.org/lkml/2015/4/28/28 v1: https://lkml.org/lkml/2014/12/22/128 This is the 6th attempt of simplifying block layer based on immutable biove

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-27 Thread Ming Lin
On Mon, Jul 27, 2015 at 3:11 PM, Ming Lin wrote: > It's more interesting if we look at how many bios are allocated for each > application IO request. > > e.g. 10+2 RAID6 with 128K chunk. > > Assume we only consider device max_segments limitation. > > # cat /sys/block/md0/queue/max_segments > 126 >

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-27 Thread Ming Lin
On Mon, 2015-07-27 at 13:50 -0400, Mike Snitzer wrote: > On Thu, Jul 23 2015 at 2:21pm -0400, > Ming Lin wrote: > > > On Mon, 2015-07-13 at 11:35 -0400, Mike Snitzer wrote: > > > On Mon, Jul 13 2015 at 1:12am -0400, > > > Ming Lin wrote: > > > > > > > On Mon, 2015-07-06 at 00:11 -0700, m...@k

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-27 Thread Mike Snitzer
On Thu, Jul 23 2015 at 2:21pm -0400, Ming Lin wrote: > On Mon, 2015-07-13 at 11:35 -0400, Mike Snitzer wrote: > > On Mon, Jul 13 2015 at 1:12am -0400, > > Ming Lin wrote: > > > > > On Mon, 2015-07-06 at 00:11 -0700, m...@kernel.org wrote: > > > > Hi Mike, > > > > > > > > On Wed, 2015-06-10 a

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-24 Thread Kent Overstreet
On Tue, Jul 14, 2015 at 01:51:26PM -0700, Ming Lin wrote: > On Mon, 2015-07-13 at 11:35 -0400, Mike Snitzer wrote: > > On Mon, Jul 13 2015 at 1:12am -0400, > > Ming Lin wrote: > > > > > On Mon, 2015-07-06 at 00:11 -0700, m...@kernel.org wrote: > > > > Hi Mike, > > > > > > > > On Wed, 2015-06-10

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-23 Thread Ming Lin
On Mon, 2015-07-13 at 11:35 -0400, Mike Snitzer wrote: > On Mon, Jul 13 2015 at 1:12am -0400, > Ming Lin wrote: > > > On Mon, 2015-07-06 at 00:11 -0700, m...@kernel.org wrote: > > > Hi Mike, > > > > > > On Wed, 2015-06-10 at 17:46 -0400, Mike Snitzer wrote: > > > > I've been busy getting DM cha

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-16 Thread Jeff Moyer
Ming Lin writes: > On Mon, 2015-07-13 at 11:35 -0400, Mike Snitzer wrote: >> I will do additional review to answer 1 and 2 above. And Jeff Moyer >> told me he'd test the patchset on one of his testbeds. > > Hi Jeff, > > FYI, here is a fix for patch 1. > Or you can pull from my tree. > https://gi

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-16 Thread Ming Lin
On Mon, 2015-07-13 at 11:35 -0400, Mike Snitzer wrote: > I will do additional review to answer 1 and 2 above. And Jeff Moyer > told me he'd test the patchset on one of his testbeds. Hi Jeff, FYI, here is a fix for patch 1. Or you can pull from my tree. https://git.kernel.org/cgit/linux/kernel/gi

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-14 Thread Ming Lin
On Mon, 2015-07-13 at 11:35 -0400, Mike Snitzer wrote: > On Mon, Jul 13 2015 at 1:12am -0400, > Ming Lin wrote: > > > On Mon, 2015-07-06 at 00:11 -0700, m...@kernel.org wrote: > > > Hi Mike, > > > > > > On Wed, 2015-06-10 at 17:46 -0400, Mike Snitzer wrote: > > > > I've been busy getting DM cha

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-13 Thread Mike Snitzer
On Mon, Jul 13 2015 at 1:12am -0400, Ming Lin wrote: > On Mon, 2015-07-06 at 00:11 -0700, m...@kernel.org wrote: > > Hi Mike, > > > > On Wed, 2015-06-10 at 17:46 -0400, Mike Snitzer wrote: > > > I've been busy getting DM changes for the 4.2 merge window finalized. > > > As such I haven't connec

Re: [PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-12 Thread Ming Lin
allow __blk_queue_bounce() to handle bios larger than > BIO_MAX_PAGES". > Will send it seperately > > v3: > - rebase on top of 4.1-rc2 > - support for QUEUE_FLAG_SG_GAPS > - update commit logs of patch 2&4 > - split bio for chunk_aligned_read > &

[PATCH v5 00/11] simplify block layer based on immutable biovecs

2015-07-06 Thread mlin
BIO_MAX_PAGES". Will send it seperately v3: - rebase on top of 4.1-rc2 - support for QUEUE_FLAG_SG_GAPS - update commit logs of patch 2&4 - split bio for chunk_aligned_read v2: https://lkml.org/lkml/2015/4/28/28 v1: https://lkml.org/lkml/2014/12/22/128 This is the 5th attempt of simpl

Re: [PATCH v4 00/11] simplify block layer based on immutable biovecs

2015-06-03 Thread Ming Lin
On Wed, Jun 3, 2015 at 6:28 AM, Jeff Moyer wrote: > Christoph Hellwig writes: > >> On Sun, May 31, 2015 at 11:15:09PM -0700, Ming Lin wrote: >>> > Except for that these changes looks good, and the previous version >>> > passed my tests fine, so with some benchmarks you'ĺl have my ACK. >>> >>> Can

Re: [PATCH v4 00/11] simplify block layer based on immutable biovecs

2015-06-03 Thread Jeff Moyer
Christoph Hellwig writes: > On Sun, May 31, 2015 at 11:15:09PM -0700, Ming Lin wrote: >> > Except for that these changes looks good, and the previous version >> > passed my tests fine, so with some benchmarks you'ĺl have my ACK. >> >> Can I have your ACK with these numbers? >> https://lkml.org/l

Re: [PATCH v4 00/11] simplify block layer based on immutable biovecs

2015-06-02 Thread Christoph Hellwig
On Sun, May 31, 2015 at 11:15:09PM -0700, Ming Lin wrote: > > Except for that these changes looks good, and the previous version > > passed my tests fine, so with some benchmarks you'ĺl have my ACK. > > Can I have your ACK with these numbers? > https://lkml.org/lkml/2015/6/1/38 Looks good to me.

Re: [PATCH v4 00/11] simplify block layer based on immutable biovecs

2015-05-31 Thread Ming Lin
On Sat, May 23, 2015 at 7:15 AM, Christoph Hellwig wrote: > On Fri, May 22, 2015 at 11:18:32AM -0700, Ming Lin wrote: >> This will bring not only performance improvements, but also a great amount >> of reduction in code complexity all over the block layer. Performance gain >> is possible due to th

Re: [PATCH v4 00/11] simplify block layer based on immutable biovecs

2015-05-28 Thread Ming Lin
On Mon, May 25, 2015 at 6:51 AM, Christoph Hellwig wrote: > On Sun, May 24, 2015 at 12:37:32AM -0700, Ming Lin wrote: >> > Except for that these changes looks good, and the previous version >> > passed my tests fine, so with some benchmarks you'ĺl have my ACK. >> >> I'll test it on a 2 sockets ser

Re: [PATCH v4 00/11] simplify block layer based on immutable biovecs

2015-05-25 Thread Christoph Hellwig
On Sun, May 24, 2015 at 12:37:32AM -0700, Ming Lin wrote: > > Except for that these changes looks good, and the previous version > > passed my tests fine, so with some benchmarks you'ĺl have my ACK. > > I'll test it on a 2 sockets server with 10 NVMe drives on Monday. > I'm going to run fio tests:

Re: [PATCH v4 00/11] simplify block layer based on immutable biovecs

2015-05-24 Thread Ming Lin
On Sat, May 23, 2015 at 7:15 AM, Christoph Hellwig wrote: > On Fri, May 22, 2015 at 11:18:32AM -0700, Ming Lin wrote: >> This will bring not only performance improvements, but also a great amount >> of reduction in code complexity all over the block layer. Performance gain >> is possible due to th

Re: [PATCH v4 00/11] simplify block layer based on immutable biovecs

2015-05-23 Thread Christoph Hellwig
On Fri, May 22, 2015 at 11:18:32AM -0700, Ming Lin wrote: > This will bring not only performance improvements, but also a great amount > of reduction in code complexity all over the block layer. Performance gain > is possible due to the fact that bio_add_page() does not have to check > unnecesary c

[PATCH v4 00/11] simplify block layer based on immutable biovecs

2015-05-22 Thread Ming Lin
QUEUE_FLAG_SG_GAPS - update commit logs of patch 2&4 - split bio for chunk_aligned_read v2: https://lkml.org/lkml/2015/4/28/28 v1: https://lkml.org/lkml/2014/12/22/128 This is the 4th attempt of simplifying block layer based on immutable biovecs. Immutable biovecs, implemented by Kent

Re: [PATCH v3 00/11] simplify block layer based on immutable biovecs

2015-05-20 Thread Ming Lin
On Wed, May 20, 2015 at 5:48 AM, Christoph Hellwig wrote: > Passes test fine for me so far. You might also want to throw in the > following patch to make it more useful: I'll add it to next version. Thanks. > > --- > From a30035d4ae040723a6c94143db90231941d0caf7 Mon Sep 17 00:00:00 2001 > From

Re: [PATCH v3 00/11] simplify block layer based on immutable biovecs

2015-05-20 Thread Christoph Hellwig
Passes test fine for me so far. You might also want to throw in the following patch to make it more useful: --- >From a30035d4ae040723a6c94143db90231941d0caf7 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Tue, 19 May 2015 14:31:01 +0200 Subject: block: remove bio_get_nr_vecs() We can alw

Re: [PATCH v3 00/11] simplify block layer based on immutable biovecs

2015-05-18 Thread Christoph Hellwig
I like this conceptually, so if we could get it into further testing that would be useful. Jens, are you fine with the general approach? If yes I'll try to spend some more ressources on getting it ready. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a m

[PATCH v3 00/11] simplify block layer based on immutable biovecs

2015-05-06 Thread Ming Lin
able biovecs. Immutable biovecs, implemented by Kent Overstreet, have been available in mainline since v3.14. Its original goal was actually making generic_make_request() accept arbitrarily sized bios, and pushing the splitting down to the drivers or wherever it's required. See also discussions in

[RFC PATCH v2 00/10] simplify block layer based on immutable biovecs

2015-04-27 Thread Ming Lin
Dongsu sent v1 of this patchset. https://lkml.org/lkml/2014/12/22/128 This is the second attempt of simplifying block layer based on immutable biovecs. Immutable biovecs, implemented by Kent Overstreet, have been available in mainline since v3.14. Its original goal was actually making

Re: [RFC PATCH v2 0/9] simplify block layer based on immutable biovecs

2015-01-15 Thread Christoph Hellwig
> - move a patch "btrfs: make use of immutable biovecs" to the upcoming series. which upcoming series is that? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vg

[RFC PATCH v2 0/9] simplify block layer based on immutable biovecs

2015-01-12 Thread Dongsu Park
This is the second attempt of simplifying block layer based on immutable biovecs. Immutable biovecs, implemented by Kent Overstreet, have been available in mainline since v3.14. Its original goal was actually making generic_make_request() accept arbitrarily sized bios, and pushing the splitting

Re: [RFC PATCH 16/17] fs: convert buffer head etc. to use immutable biovecs API.

2014-12-23 Thread Dongsu Park
On 23.12.2014 02:51, Christoph Hellwig wrote: > On Mon, Dec 22, 2014 at 12:48:43PM +0100, Dongsu Park wrote: > > From: Kent Overstreet > > > > Increase bio->bi_remaining instead of calling bio_get(), > > and call bio_end() instead of bio_put() upon buffer_head submission. > > Nees an explanation

Re: [RFC PATCH 06/17] btrfs: make use of immutable biovecs

2014-12-23 Thread Dongsu Park
On 23.12.2014 02:35, Christoph Hellwig wrote: > This seems like it could be applied without the rest of the series, > right? Might be worth to get it into the btrfs tree ASAP? Ah, you're right. While patch #5 must be in this series, patch #6 does not necessarily have to be included. This conversi

Re: [RFC PATCH 16/17] fs: convert buffer head etc. to use immutable biovecs API.

2014-12-23 Thread Christoph Hellwig
On Mon, Dec 22, 2014 at 12:48:43PM +0100, Dongsu Park wrote: > From: Kent Overstreet > > Increase bio->bi_remaining instead of calling bio_get(), > and call bio_end() instead of bio_put() upon buffer_head submission. Nees an explanation on why this is done. > Also make bio submission in kernel/

Re: [RFC PATCH 06/17] btrfs: make use of immutable biovecs

2014-12-23 Thread Christoph Hellwig
This seems like it could be applied without the rest of the series, right? Might be worth to get it into the btrfs tree ASAP? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel

[RFC PATCH 06/17] btrfs: make use of immutable biovecs

2014-12-22 Thread Dongsu Park
From: Kent Overstreet Make use of the new API for immutable biovecs, instead of iterating bi_io_vec[] manually just like done in the old era. That means, e.g. calling bio_for_each_segment() by passing bvec and iter literally, using bio_advance_iter() for looking up the next range of biovec

[RFC PATCH 16/17] fs: convert buffer head etc. to use immutable biovecs API.

2014-12-22 Thread Dongsu Park
ome codes that have been still using the older API can be converted in order to use the immutable biovecs API. Signed-off-by: Kent Overstreet [dpark: add more description in commit message] Signed-off-by: Dongsu Park Cc: Al Viro Cc: linux-fsde...@vger.kernel.org Cc: linux...@vger.kernel.org ---

[RFC PATCH 00/17] simplify block layer based on immutable biovecs

2014-12-22 Thread Dongsu Park
This is the first attempt of simplifying block layer based on immutable biovecs. Immutable biovecs, implemented by Kent Overstreet, have been available in mainline since v3.14. Its original goal was actually making generic_make_request() accept arbitrarily sized bios, and pushing the splitting

[PATCH 11/11] direct-io: Rewrite based on immutable biovecs

2013-12-03 Thread Kent Overstreet
Near total rewrite of fs/direct-io.c. This makes use of our new bio splitting functionality, and the fact that generic_make_request() will take arbitrary size bios - we allocate a bio, pin pages to it directly, then call the getblocks() function to map it wherever the filesystem tells us - splittin

[PATCH] fixups for immutable biovecs

2013-12-03 Thread Kent Overstreet
Jens - for the "silence spurious compiler warnings", if you want to drop the previous version of that patch and replace with this one, it appears uninitialized_var() doesn't work on structs. And I somehow lost the btrfs fixes Chris Mason did for bio chaining and had to redo them so hopefully he can

Re: [GIT PULL] Immutable biovecs

2013-11-26 Thread Jens Axboe
On Tue, Nov 26 2013, Kent Overstreet wrote: > On Mon, Nov 25, 2013 at 10:05:58PM -0800, Christoph Hellwig wrote: > > On Mon, Nov 25, 2013 at 01:52:16PM -0800, Kent Overstreet wrote: > > > Jens - here's immutable biovecs, rebased and ready for 3.14. Changes > > >

[PATCH 13/25] aoe: Convert to immutable biovecs

2013-11-26 Thread Kent Overstreet
Now that we've got a mechanism for immutable biovecs - bi_iter.bi_bvec_done - we need to convert drivers to use primitives that respect it instead of using the bvec array directly. The aoe code no longer has to manually iterate over partial bvecs, so some struct members go away - other s

[PATCH 12/25] block: Convert drivers to immutable biovecs

2013-11-26 Thread Kent Overstreet
Now that we've got a mechanism for immutable biovecs - bi_iter.bi_bvec_done - we need to convert drivers to use primitives that respect it instead of using the bvec array directly. Signed-off-by: Kent Overstreet Cc: Jens Axboe Cc: NeilBrown Cc: Alasdair Kergon Cc: dm-de...@redha

[PATCH 16/25] block: Refactor bio_clone_bioset() for immutable biovecs

2013-11-26 Thread Kent Overstreet
iter; + struct bio_vec bv; + struct bio *bio; + + /* +* Pre immutable biovecs, __bio_clone() used to just do a memcpy from +* bio_src->bi_io_vec to bio->bi_io_vec. +* +* We can't do that anymore, because: +* +* - The point of cloning

[PATCH 14/25] ceph: Convert to immutable biovecs

2013-11-26 Thread Kent Overstreet
Now that we've got a mechanism for immutable biovecs - bi_iter.bi_bvec_done - we need to convert drivers to use primitives that respect it instead of using the bvec array directly. Signed-off-by: Kent Overstreet Cc: Jens Axboe Cc: Sage Weil Cc: ceph-de...@vger.kernel.org --- include/

Re: [GIT PULL] Immutable biovecs

2013-11-26 Thread Kent Overstreet
On Mon, Nov 25, 2013 at 10:05:58PM -0800, Christoph Hellwig wrote: > On Mon, Nov 25, 2013 at 01:52:16PM -0800, Kent Overstreet wrote: > > Jens - here's immutable biovecs, rebased and ready for 3.14. Changes since > > the > > last version of the series: > > Can you

Re: [GIT PULL] Immutable biovecs

2013-11-25 Thread Christoph Hellwig
On Mon, Nov 25, 2013 at 01:52:16PM -0800, Kent Overstreet wrote: > Jens - here's immutable biovecs, rebased and ready for 3.14. Changes since the > last version of the series: Can you do a resend of the patch series to all involved lists first so we can have a detailed look at the curr

[GIT PULL] Immutable biovecs

2013-11-25 Thread Kent Overstreet
Jens - here's immutable biovecs, rebased and ready for 3.14. Changes since the last version of the series: * bio_clone_bioset() retains the old behaviour, as previously discussed - bio_clone_fast() is being used by bcache, dm and the new bio_split(). There aren't that many us

Re: [PATCH] block: Document immutable biovecs

2013-11-01 Thread Jens Axboe
On 10/31/2013 03:27 PM, Kent Overstreet wrote: > Signed-off-by: Kent Overstreet > Cc: Jens Axboe > Cc: NeilBrown > Cc: Christoph Hellwig Added, and incorporated the changes suggested by Randy. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the bo

Re: [PATCH] block: Document immutable biovecs

2013-10-31 Thread Randy Dunlap
Documentation/block/biovecs.txt > @@ -0,0 +1,111 @@ > + > +Immutable biovecs and biovec iterators: > +=== > + > +Kent Overstreet > + > +As of 3.13, biovecs should never be modified after a bio has been submitted. > +Instead, we have a new struct

[PATCH] block: Document immutable biovecs

2013-10-31 Thread Kent Overstreet
/block/biovecs.txt diff --git a/Documentation/block/biovecs.txt b/Documentation/block/biovecs.txt new file mode 100644 index 000..34711fa --- /dev/null +++ b/Documentation/block/biovecs.txt @@ -0,0 +1,111 @@ + +Immutable biovecs and biovec iterators

Re: [PATCH] Immutable biovecs

2013-10-29 Thread Kent Overstreet
On Tue, Oct 29, 2013 at 02:36:47PM -0600, Jens Axboe wrote: > On Tue, Oct 29 2013, Kent Overstreet wrote: > > Jens - this patch series is ready to go, driver maintainers have reviewed > > and > > tested it and the code's been essentially done for probably a year now - > > can we > > get this into

Re: [PATCH] Immutable biovecs

2013-10-29 Thread Jens Axboe
On Tue, Oct 29 2013, Kent Overstreet wrote: > Jens - this patch series is ready to go, driver maintainers have reviewed and > tested it and the code's been essentially done for probably a year now - can > we > get this into 3.13? We can - your series doesn't apply to for-3.13/core however, can yo

[PATCH] Immutable biovecs

2013-10-29 Thread Kent Overstreet
Jens - this patch series is ready to go, driver maintainers have reviewed and tested it and the code's been essentially done for probably a year now - can we get this into 3.13? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.ke

[PATCH 12/23] block: Convert drivers to immutable biovecs

2013-10-29 Thread Kent Overstreet
Now that we've got a mechanism for immutable biovecs - bi_iter.bi_bvec_done - we need to convert drivers to use primitives that respect it instead of using the bvec array directly. Signed-off-by: Kent Overstreet Cc: Jens Axboe Cc: NeilBrown Cc: Alasdair Kergon Cc: dm-de...@redha

[PATCH 13/23] aoe: Convert to immutable biovecs

2013-10-29 Thread Kent Overstreet
Now that we've got a mechanism for immutable biovecs - bi_iter.bi_bvec_done - we need to convert drivers to use primitives that respect it instead of using the bvec array directly. The aoe code no longer has to manually iterate over partial bvecs, so some struct members go away - other s

[PATCH 14/23] ceph: Convert to immutable biovecs

2013-10-29 Thread Kent Overstreet
Now that we've got a mechanism for immutable biovecs - bi_iter.bi_bvec_done - we need to convert drivers to use primitives that respect it instead of using the bvec array directly. Signed-off-by: Kent Overstreet Cc: Jens Axboe Cc: Sage Weil Cc: ceph-de...@vger.kernel.org --- include/

[GIT PULL] Immutable biovecs

2013-10-15 Thread Kent Overstreet
bvec_iter bio-integrity: Convert to bvec_iter block: Kill bio_segments()/bi_vcnt usage block: Convert drivers to immutable biovecs aoe: Convert to immutable biovecs ceph: Convert to immutable biovecs block: Kill bio_iovec_idx(), __bio_iovec() rbd: Refacto

Re: [PATCH 0/22] Immutable biovecs, block layer changes

2013-09-27 Thread Mike Snitzer
ng immutable bio work? > > > > Hey Christoph, > > > > Have you been over the patchset? Looks sane to you? > > > > Given how disruptive this patchset is to the block layer I'm wondering > > how painful this change will be in combination with Jens' bl

Re: [PATCH 0/22] Immutable biovecs, block layer changes

2013-09-24 Thread Kent Overstreet
ooks sane to you? > > Given how disruptive this patchset is to the block layer I'm wondering > how painful this change will be in combination with Jens' blk-mq > changes. I'd prefer to see blk-mq before immutable biovecs; but I have > my own selfish reasons for that.

Re: [PATCH 0/22] Immutable biovecs, block layer changes

2013-09-24 Thread Kent Overstreet
On Tue, Sep 24, 2013 at 04:00:12AM -0700, Christoph Hellwig wrote: > Just curious, what's the state of the remaining immutable bio work? Mostly just waiting for Jens to pull it, though I did discover an issue with the "generic bio chaining" patch last time I was testing it - but that's towards the

Re: [PATCH 0/22] Immutable biovecs, block layer changes

2013-09-24 Thread Christoph Hellwig
shrink struct bio again, too. > Given how disruptive this patchset is to the block layer I'm wondering > how painful this change will be in combination with Jens' blk-mq > changes. I'd prefer to see blk-mq before immutable biovecs; but I have > my own selfish reasons for th

Re: [PATCH 0/22] Immutable biovecs, block layer changes

2013-09-24 Thread Mike Snitzer
painful this change will be in combination with Jens' blk-mq changes. I'd prefer to see blk-mq before immutable biovecs; but I have my own selfish reasons for that. I'm also concerned about DM regressions given that a lot of DM code to handle splitting a bio that spans target boundari

Re: [PATCH 0/22] Immutable biovecs, block layer changes

2013-09-24 Thread Christoph Hellwig
Just curious, what's the state of the remaining immutable bio work? On Thu, Aug 08, 2013 at 02:15:29PM -0700, Kent Overstreet wrote: > > What is preventing you from sending those out as well? While it's not > > absolutely nessecary it would certainly be good if we'd avoid a struct > > bio size re

Re: [PATCH 0/22] Immutable biovecs, block layer changes

2013-08-08 Thread Kent Overstreet
On Thu, Aug 08, 2013 at 08:09:54AM -0700, Christoph Hellwig wrote: > On Wed, Aug 07, 2013 at 02:54:09PM -0700, Kent Overstreet wrote: > > _However_, I have more patches (that depend on this patch series) to get > > that back - segment merging improvements that get rid of > > bi_seg_front_size, bi_s

Re: [PATCH 0/22] Immutable biovecs, block layer changes

2013-08-08 Thread Christoph Hellwig
On Wed, Aug 07, 2013 at 02:54:09PM -0700, Kent Overstreet wrote: > _However_, I have more patches (that depend on this patch series) to get > that back - segment merging improvements that get rid of > bi_seg_front_size, bi_seg_back_size, and bi_phys_segments. Once all that > is in it should be a ne

[PATCH 12/22] block: Convert drivers to immutable biovecs

2013-08-07 Thread Kent Overstreet
Now that we've got a mechanism for immutable biovecs - bi_iter.bi_bvec_done - we need to convert drivers to use primitives that respect it instead of using the bvec array directly. Signed-off-by: Kent Overstreet Cc: Jens Axboe Cc: NeilBrown Cc: "Ed L. Cashin" Cc: Alasdair Ke

[PATCH 13/22] ceph: Convert to immutable biovecs

2013-08-07 Thread Kent Overstreet
Now that we've got a mechanism for immutable biovecs - bi_iter.bi_bvec_done - we need to convert drivers to use primitives that respect it instead of using the bvec array directly. Signed-off-by: Kent Overstreet Cc: Jens Axboe Cc: Sage Weil Cc: ceph-de...@vger.kernel.org --- include/

[PATCH 0/22] Immutable biovecs, block layer changes

2013-08-07 Thread Kent Overstreet
Jens - here's the immutable biovec patch series. I'd really like to get this stuff into 3.12 if at all possible, and I think this series ought to be ready - and, the dio rewrite and various other fun stuff is gated on this stuff. Not much in these patches has changed over the past six months or so

Re: [PATCH 10/26] block: Convert drivers to immutable biovecs

2013-06-28 Thread Ed Cashin
street wrote: > Now that we've got a mechanism for immutable biovecs - > bi_iter.bi_bvec_done - we need to convert drivers to use primitives that > respect it instead of using the bvec array directly. > > Signed-off-by: Kent Overstreet > Cc: Jens Axboe > Cc: NeilBr

Re: Immutable biovecs, dio rewrite

2013-06-12 Thread Kent Overstreet
On Tue, Jun 11, 2013 at 03:20:12PM +1000, Dave Chinner wrote: > Please test with XFS and CONFIG_XFS_DEBUG=y - xfstests will stress > the dio subsystem a lot more when it is run on XFS. Indeed, xfstests > generic/013 assert fails almost immediately with: Thanks - I haven't used xfstests much before

Re: Immutable biovecs, dio rewrite

2013-06-10 Thread Dave Chinner
On Sat, Jun 08, 2013 at 07:18:42PM -0700, Kent Overstreet wrote: > Immutable biovecs: Drivers no longer modify the biovec array directly > (bv_len/bv_offset in particular) - we add a real iterator to struct bio > that lets drivers partially complete a bio while only modifying the > i

Re: Immutable biovecs, dio rewrite

2013-06-09 Thread Kent Overstreet
On Sun, Jun 09, 2013 at 10:34:08AM +0200, Geert Uytterhoeven wrote: > On Sun, Jun 9, 2013 at 4:18 AM, Kent Overstreet > wrote: > > * Changing all the drivers to go through the iterator means that we can > >submit a partially completed bio to generic_make_request() - this > >previously wo

Re: Immutable biovecs, dio rewrite

2013-06-09 Thread Geert Uytterhoeven
On Sun, Jun 9, 2013 at 4:18 AM, Kent Overstreet wrote: > * Changing all the drivers to go through the iterator means that we can >submit a partially completed bio to generic_make_request() - this >previously worked on some drivers, but worked on others. Some negation is missing in this s

Immutable biovecs, dio rewrite

2013-06-08 Thread Kent Overstreet
Immutable biovecs: Drivers no longer modify the biovec array directly (bv_len/bv_offset in particular) - we add a real iterator to struct bio that lets drivers partially complete a bio while only modifying the iterator. The iterator has the existing bi_sector, bi_size, bi_idx memembers, and also

[PATCH 10/26] block: Convert drivers to immutable biovecs

2013-06-08 Thread Kent Overstreet
Now that we've got a mechanism for immutable biovecs - bi_iter.bi_bvec_done - we need to convert drivers to use primitives that respect it instead of using the bvec array directly. Signed-off-by: Kent Overstreet Cc: Jens Axboe Cc: NeilBrown Cc: "Ed L. Cashin" Cc: Alasdair Ke

Immutable biovecs

2013-03-27 Thread Kent Overstreet
This patch series implements immutable biovecs, and converts drivers to the new primitives. This is done by pulling bi_sector, bi_size and bi_idx out of struct bio into a new iterator; to that we add bi_bvec_done which indicates the number of bytes done in the current bvec. This means we can