WARNING - OLD ARCHIVES

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

xen-devel

[Xen-devel] Re: [XEN-IOMMU] Proposal of DMA protection/isolation support

To: Wei Wang2 <wei.wang2@xxxxxxx>
Subject: [Xen-devel] Re: [XEN-IOMMU] Proposal of DMA protection/isolation support
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Wed, 16 Jan 2008 18:25:59 +0000
Cc: muli@xxxxxxxxxx, "Dannowski, Uwe" <Uwe.Dannowski@xxxxxxx>, "Hohmuth, Michael" <Michael.Hohmuth@xxxxxxx>, "Woller, Thomas" <thomas.woller@xxxxxxx>, iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx, elsie.wahlig@xxxxxxx, amit.shah@xxxxxxxxxxxx
Delivery-date: Wed, 16 Jan 2008 10:26:20 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1200503754.4026.108.camel@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>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AchYbT20fA4yXsRgEdyOUgAWy6hiGQ==
Thread-topic: [XEN-IOMMU] Proposal of DMA protection/isolation support
User-agent: Microsoft-Entourage/11.3.6.070618
On 16/1/08 17:15, "Wei Wang2" <wei.wang2@xxxxxxx> wrote:

>> Local pages could always be mapped into the iommu, and only remote pages
>> would need to be temporarily mapped via the gnttab hooks.
> I remembered that vtd patch used to hook page assignment to for this,
> but it was soon replaced with statical 1:1 mapping. Could you suggest me
> how to trace local page changes instead of mapping whole the physical
> ram?

alloc_domheap_pages() if you want to map MFNs. populate_physmap() if you
want to map PFNs. There might be a few other places to hook also but I
expect they're the main ones.

>> 2) When dma layer is invoked to prepare a bus address for native block
>>> device driver. It would be better to have a "hypervisor-aware" dma layer
>>> which always maps virtual address to bus address via hypercall.
>>> __gnttab_dma_map_page() might be a good place to trigger this new
>>> hypercall. Both remote and local pages can be mapped by this way.
>> 
>> An extra hypercall here will likely hurt performance.
> I have implemented a prototype for this which removes 1:1 mapping and invoke a
> hypercall for 
> dma mapping. Since block driver uses dma_map_sg heavily which is easy to
> batch, I have not seen dramatic performance loss.

It's hard to slow down block-device accesses. What does it do to CPU usage
and max bandwidth on a multi-gigabit NIC?

 -- Keir



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