Re: [PATCH 04/22] block: Abstract out bvec iterator

Kent Overstreet
2013-08-09T01:05:33Z

On Thu, Aug 08, 2013 at 08:59:11PM -0400, Ed Cashin wrote:
> On Aug 8, 2013, at 8:09 PM, Kent Overstreet wrote:
>
> > On Wed, Aug 07, 2013 at 10:04:36PM -0400, Ed Cashin wrote:
> >> On Aug 7, 2013, at 5:54 PM, Kent Overstreet wrote:
> >>
> >>> Immutable biovecs are going to require an explicit iterator. To
> >>> implement immutable bvecs, a later patch is going to add a bi_bvec_done
> >>> member to this struct; for now, this patch effectively just renames
> >>> things.
> >>
> >> Hi, Kent Overstreet. Thanks for Cc'ing me and for the promising work.
> >>
> >> Were you able to do sanity tests with aoe this time around? Last time, basic I/O was not working with the immutable biovec patches applied.
> >>
> >> Here is my 28 June email about my experiences with git://evilpiepirate.org/~kent/linux-bcache.git at that time. It also includes information about creating an easy software-only aoe test environment.
> >>
> >> http://thread.gmane.org/gmane.linux.kernel/1505222/focus=1517924
> >
> > Hey, thanks for testing it - sorry, I think I remember seeing that email
> > last time and got sidetracked before I got around to setting up some
> > tests.
>
> No worries.
>
> > I think I've got it working now, it's running the same stress tests I
> > use for bcache. Here's a fixed patch, I broke the aoe changes out into
> > their own patch since they were more involved than most of the others:
>
> I had added your git tree as a remote and checked out the for-jens branch. This patch conflicts with some of the changes in that patch, so I could use a pointer as to which base this new patch applies to.
>
> If it's already in some branch in linux-bcache, I can just use it there, and that's even more convenient.

It's in the for-jens branch now.

>
> > (I am seeing a bug where it's getting stuck after running stress tests
> > for awhile, but I can reproduce that without the aoe changes too...)
>
> Just so I know what to look for, what does that behavior look like? I/O stops going and procs get stuck in disk sleep, maybe?

Yeah, pretty much.

My test script isn't really doing anything interesting, just using
dbench and bonnie to generate random-ish mixed load. It's running in a
vm where the block devices are files in a tmpfs on the host, though.

Here's the test script - http://evilpiepirate.org/~kent/rc