WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] pvSCSI question - can a gref describe more than one page

To: "Jeremy Fitzhardinge" <jeremy@xxxxxxxx>
Subject: RE: [Xen-devel] pvSCSI question - can a gref describe more than one page?
From: "James Harper" <james.harper@xxxxxxxxxxxxxxxx>
Date: Thu, 11 Mar 2010 09:17:55 +1100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 10 Mar 2010 14:19:34 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4B97F096.8040406@xxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <AEC6C66638C05B468B556EA548C1A77D01918CE0@trantor> <4B97F096.8040406@xxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcrAhqHVxKooCaozTCOxylXiSyF4jgAGLmBQ
Thread-topic: [Xen-devel] pvSCSI question - can a gref describe more than one page?
> 
> On 03/09/2010 07:18 PM, James Harper wrote:
> > Porting the pvSCSI backend driver to the pvops kernel is turning out
to
> > be a bit harder than first thought, mostly because all the Linux
> > routines that might be useful are written with the assumption that
they
> > would be passed a mapped buffer and they would then build an sg list
out
> > of that. pvSCSI already has an sg list, and all the routines that it
> > makes use of have been deprecated since 2.6.18 (all the comments on
the
> > patches that remove the routines are like "nobody uses this
anymore".
> > D'oh.)
> >
> > The big complication appears to be that pvSCSI seems to think that
an
> > individual sg element can span a page, and so has to muck around
> > splitting it into page-sized chunks. My assumption is that this is
> > because the code in pvSCSI was cut&pasted from somewhere else.
> >
> 
> In general its a bug if an sg entry crosses a page boundary.  We
define
> BIOVEC_PHYS_MERGEABLE so that we avoid doing any cross-page merges
> (unless, I think, the underlying mfns are actually contiguous).  Does
> that help?
> 

So a single gref can only describe a single page right? If that
assumption is correct then I think I'm good.

The code compiles now and doesn't crash Dom0 or anything, but my windows
pvSCSI driver crashes because the gref is still in use when it gets it
back... so still some bugs to fix.

James

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>