[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] What's the purpose of VM_FOREIGN


  • To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
  • 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=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

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
addresses.

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.

a.

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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.