RE: [PATCH 1/1] Staging: hv: storvsc: Move the storage driver outof the staging area

From: James Bottomley
Date: Fri Nov 18 2011 - 12:00:36 EST


On Fri, 2011-11-18 at 04:53 +0000, KY Srinivasan wrote:
> > I still think you need to disable clustering and junk the bvec merge
> > function. Your object seems to be to accumulate in page size multiples
> > (and not aggregate over this) ... that's what clustering is designed to
> > do.
>
> As part of addressing your first round of comments, I experimented with your
> suggestions and I could not get rid of the code that does the bounce buffer handling.
> I could generate I/O patterns that would require bounce buffer handling with your
> suggestions in place.

There are two separate things here. One is the scatter gather list
bounce buffer processing, which is a bit nasty, but if you want to use <
4kb block size filesystems, I suppose I have to accept that you need it
(although since it's a global fault of the hypervisor, perhaps it should
sit in the hypervisor interface layer, so that every SG based transport
can use it). The other is the biovec merge function addition. The
purpose of this function seems to be to ensure you get one SG entry for
every page (if I read it right)? In that case, you don't need any of
this special casing. The flag DISABLE_CLUSTERING achieves the same
thing.

James


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/