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

From: KY Srinivasan
Date: Fri Nov 18 2011 - 18:28:23 EST




> -----Original Message-----
> From: James Bottomley [mailto:James.Bottomley@xxxxxxxxxxxxxxxxxxxxx]
> Sent: Friday, November 18, 2011 12:01 PM
> To: KY Srinivasan
> Cc: gregkh@xxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> devel@xxxxxxxxxxxxxxxxxxxxxx; virtualization@xxxxxxxxxxxxxx; linux-
> scsi@xxxxxxxxxxxxxxx; ohering@xxxxxxxx; hch@xxxxxxxxxxxxx
> Subject: RE: [PATCH 1/1] Staging: hv: storvsc: Move the storage driver out of the
> staging area
>
> 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.

Thanks James. I will keep you posted on my progress on this issue.

Regards,

K. Y

¢éì®&Þ~º&¶¬–+-±éÝ¥Šw®žË±Êâmébžìdz¹Þ)í…æèw*jg¬±¨¶‰šŽŠÝj/êäz¹ÞŠà2ŠÞ¨è­Ú&¢)ß«a¶Úþø®G«éh®æj:+v‰¨Šwè†Ù>Wš±êÞiÛaxPjØm¶Ÿÿà -»+ƒùdš_