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/
Home Products Support Community News


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

To: James Harper <james.harper@xxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] pvSCSI question - can a gref describe more than one page?
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Wed, 10 Mar 2010 11:18:46 -0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 10 Mar 2010 11:19:50 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AEC6C66638C05B468B556EA548C1A77D01918CE0@trantor>
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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100301 Fedora/3.0.3-1.fc12 Lightning/1.0b2pre Thunderbird/3.0.3
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".

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?


Xen-devel mailing list

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