> -----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 ��.n��������+%������w��{.n�����{������ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f