|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: [XEN-IOMMU] Proposal of DMA protection/isolation support
To: |
"Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx> |
Subject: |
[Xen-devel] Re: [XEN-IOMMU] Proposal of DMA protection/isolation support |
From: |
"Wei Wang2" <wei.wang2@xxxxxxx> |
Date: |
Wed, 16 Jan 2008 18:15:53 +0100 |
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 09:16:38 -0800 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxx |
In-reply-to: |
<C3B3E529.1AEAC%Keir.Fraser@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: |
<C3B3E529.1AEAC%Keir.Fraser@xxxxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
On Wed, 2008-01-16 at 16:45 +0000, Keir Fraser wrote:
> On 16/1/08 16:34, "Wei Wang2" <wei.wang2@xxxxxxx> wrote:
>
> > 1) Before submitting io request to generic block layer, block backend
> > driver will invoke GNTTABOPs to map granted remote pages . However
> > creating iommu mapping only in GNTTABOP not very enough because local
> > pages will also be submitted to block layer and they should also be
> > translated by iommu.
>
> 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?
> 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.
-Wei
> -- Keir
>
>
>
>
-Wei
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|