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] VP problematic for backend drivers on IA64?

To: Gerd Hoffmann <kraxel@xxxxxxx>
Subject: Re: [Xen-devel] VP problematic for backend drivers on IA64?
From: Muli Ben-Yehuda <mulix@xxxxxxxxx>
Date: Wed, 25 Jan 2006 16:37:32 +0200
Cc: "Magenheimer, Dan \(HP Labs Fort Collins\)" <dan.magenheimer@xxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, okrieg@xxxxxxxxxx
Delivery-date: Wed, 25 Jan 2006 14:46:16 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <43D75311.3040808@xxxxxxx>
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: <20060120015505.GB8504@xxxxxxxxxxxxxxxxxxx> <43D75311.3040808@xxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.11
On Wed, Jan 25, 2006 at 11:29:37AM +0100, Gerd Hoffmann wrote:

> One suggestion from the summit was to allocate some "struct page" for
> foreign pages and tag them somehow (new page flag + grant table handle
> in page->private maybe).  The xenified kernel's DMA mapping
> implementation can check the flag then and do the "right thing".  I'm
> not fully aware what other consequences this has for the linux memory
> management,

I think it's a pretty ugly hack; struct page has a very specific
meaning in Linux. Minimizing changes in Linux by subverting this
meaning does not strike me as the right thing to do.

At the moment we simply use the struct page to pass information
between the Xen aware backends and the non-Xen-aware Linux drivers
that do the actual DMA. This requires however that the struct page
point to an actual physical page, which ideally wouldn't be required
at all - Linux is never going to look at the page (kmap it). Having
said that, changing the DMA-API to take something other than a virtual
address (that then gets translated to physical, then to machine) is
not a trivial undertaking.

> asking on lkml how to deal with that (and maybe get
> other/better suggestions) is probably not a bad idea.  At least one
> place which must also be touched for that is kmap()+friends.

Sure, I'd be interested in the response.

Muli Ben-Yehuda
http://www.mulix.org | http://mulix.livejournal.com/

Xen-devel mailing list