lkml.org 
[lkml]   [2013]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC 5/8] xen: introduce XENMEM_get_dma_buf and xen_put_dma_buf
On Wed, 31 Jul 2013, Konrad Rzeszutek Wilk wrote:
> Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> >Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> >---
> >include/xen/interface/memory.h | 62
> >++++++++++++++++++++++++++++++++++++++++
> > 1 files changed, 62 insertions(+), 0 deletions(-)
> >
> >diff --git a/include/xen/interface/memory.h
> >b/include/xen/interface/memory.h
> >index 2ecfe4f..ffd7f4e 100644
> >--- a/include/xen/interface/memory.h
> >+++ b/include/xen/interface/memory.h
> >@@ -263,4 +263,66 @@ struct xen_remove_from_physmap {
> > };
> > DEFINE_GUEST_HANDLE_STRUCT(xen_remove_from_physmap);
> >
> >+#define XENMEM_get_dma_buf 26
> >+/*
> >+ * This hypercall is similar to XENMEM_exchange: it exchanges the
> >pages
>
> Could you elaborate why the existing hyper call won't work?

Two reasons:

- the existing XENMEM_exchange hypercall does not copy back the mfns
into the out field for autotranslate guests;

- the existing XENMEM_exchange hypercall does not guarantee that the
hypervisor won't change the p2m mappings for the exchanged pages while
the guest is using them. Keep in mind that Xen never promises to keep
the p2m mapping stable for autotranslate guests in general.
In practice it won't happen unless you use uncommon features like memory
sharing or paging.


\
 
 \ /
  Last update: 2013-08-01 18:01    [W:0.141 / U:0.880 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site