Xen 
 
Home About Xen.org Xen Xen Summit Wiki Mailing List Bug Tracker Xen Downloads
 
   
 

xen-devel

Re: [Xen-devel] x86 swiotlb questions

To: "Keir Fraser" <keir@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] x86 swiotlb questions
From: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Date: Tue, 19 Dec 2006 14:39:58 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 19 Dec 2006 06:38:45 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C1ADA455.6525%keir@xxxxxxxxxxxxx>
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: <4587EDA3.76E4.0078.0@xxxxxxxxxx> <C1ADA455.6525%keir@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> Keir Fraser <keir@xxxxxxxxxxxxx> 19.12.06 15:14 >>>
>On 19/12/06 12:48, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
>
>>> Do we merge okay with lib/swiotlb.c then?
>> 
>> Not yet - because of the highmem handling needed for i386. I wonder, however,
>> how native Linux gets away with not handling this through swiotlb, and why
>> nevertheless Xen needs to special case this. Any ideas?
>
>Probably because GFP_KERNEL and GFP_DMA allocations are guaranteed to be
>DMAable by 30-bit-capable devices on native, but not on Xen.

Not sure I understand your thinking here. Nothing prevents user pages (or 
anything
else that I/O may happen against) to come from highmem, hence the bounce logic
in mm/highmem.c needs to control this anyway (as I understand it). And since all
we're talking about here are physical addresses (and their translations to 
virtual
ones), I would rather conclude that we'll never see a page in the I/O path that
page_address() would return NULL for, but if that's the case, then there's no 
need
to kmap such pages or to favor page_to_bus() over virt_to_bus(page_address()).

Jan

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