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] What's the purpose of VM_FOREIGN

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] What's the purpose of VM_FOREIGN
From: "Andrew Warfield" <andrew.warfield@xxxxxxxxxxxx>
Date: Tue, 1 Aug 2006 08:30:47 -0700
Cc: "Li, Xin B" <xin.b.li@xxxxxxxxx>, xen-devel Mailing List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 01 Aug 2006 08:31:11 -0700
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=jLZ+2xWMavqxHSaNPSYbVA4Dcnx2uwYINtPR3irl3JwtR+oHDZQYw62VvIo2JQI0ShQofpGDF2brMSHBLKYXHFxb0UB7YZsnAQT0Dmea+OlzGfPsH8Je64rg7mtV0zffxvX8uW9EDAuCzRoEBOkB6oDSlkYF2XlzgvRJlPp7tWg=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <606d1f2ca949c6eb133c73c2e07b3e5a@xxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <0EBFB99D260C5B40AC33E0F807B1AD66BD2E38@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <606d1f2ca949c6eb133c73c2e07b3e5a@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
VM_FOREIGN is used to allow zero-copy of data pages for the blktap
driver.  When foreign block data pages are mapped to user space, the
PTEs aren't backed by page structs, so get_user_pages becomes upset
when called to map the block requests down onto physical page

VM_FOREIGN vm_areas use the vm_private_data field to contain an array
of mappings to the associate page structs, and get_user_pages uses
this table to handle pages that have been foreign mapped.  The code
that sets up the mapping is in drivers/xen/blktap.c.


On 8/1/06, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote:

> But I never saw when the bit is set, so this code path can not be
> reached?

It's used by the blktap driver.

  -- Keir

Xen-devel mailing list

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