From: Keir Fraser <keir.xen@gmail.com>
To: Ian Campbell <Ian.Campbell@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: xen-devel@lists.xensource.com, tim@xen.org
Subject: Re: [PATCH v3 3/3] xen: introduce XENMEM_get_dma_buf and XENMEM_put_dma_buf
Date: Thu, 08 Aug 2013 15:12:26 +0100 [thread overview]
Message-ID: <CE2965DA.5A2DF%keir.xen@gmail.com> (raw)
In-Reply-To: <1375958413.970.48.camel@kazak.uk.xensource.com>
On 08/08/2013 11:40, "Ian Campbell" <Ian.Campbell@citrix.com> wrote:
>> it exchanges the pages
>> + * passed in with a new set of pages, contiguous and under 4G if so
>> + * requested.
>
> I guess it avoids exchanging the pages if they already meet this
> constraint?
>
> The "if so requested" binds to "under 4G" and not "contiguous"? The
> result is always contiguous I think. Also 4G is just an example and the
> caller can ask for any order it likes.
>
> The contents of the pages will be lost I think. Perhaps in debug builds
> we should consider actually nuking the page's content in the case where
> we don't actually exchange?
This confused me too, this talk of contiguity and being below 4GB. Doesn't
this new hypercall behave *exactly* like XENMEM_exchange, except for the
additional pinning of the MFNs? If so, just say that in the patch header and
code comments. The fact *you* currently use it to get memory below 4GB is an
application detail.
I wonder whether XENMEM_exchange is much use at all in the presence of
paging, without the additional semantics of pinning? Perhaps XENMEM_exchange
could be suitably adjusted to have the pinning semantics in this case?
-- Keir
next prev parent reply other threads:[~2013-08-08 14:12 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-05 16:40 [PATCH v3 0/3] introduce XENMEM_get_dma_buf and XENMEM_put_dma_buf Stefano Stabellini
2013-08-05 16:40 ` [PATCH v3 1/3] xen/arm: implement steal_page Stefano Stabellini
2013-08-08 9:55 ` Ian Campbell
2013-08-08 10:37 ` Stefano Stabellini
2013-08-09 15:46 ` Konrad Rzeszutek Wilk
2013-08-14 13:40 ` Stefano Stabellini
2013-08-05 16:40 ` [PATCH v3 2/3] xen: implement guest_physmap_(un)pin_range Stefano Stabellini
2013-08-08 10:52 ` Ian Campbell
2013-08-14 16:08 ` Stefano Stabellini
2013-08-15 14:32 ` Ian Campbell
2013-08-05 16:40 ` [PATCH v3 3/3] xen: introduce XENMEM_get_dma_buf and XENMEM_put_dma_buf Stefano Stabellini
2013-08-08 10:40 ` Ian Campbell
2013-08-08 14:12 ` Keir Fraser [this message]
2013-08-08 14:16 ` Stefano Stabellini
2013-08-08 14:26 ` Tim Deegan
2013-08-08 15:04 ` Stefano Stabellini
2013-08-08 14:27 ` Ian Campbell
2013-08-08 14:47 ` Keir Fraser
2013-08-13 16:05 ` Stefano Stabellini
2013-08-13 22:07 ` Ian Campbell
2013-08-08 11:43 ` Jan Beulich
2013-08-08 14:12 ` Stefano Stabellini
2013-08-08 14:38 ` Jan Beulich
2013-08-08 14:44 ` Stefano Stabellini
2013-08-08 14:50 ` Jan Beulich
2013-08-08 14:54 ` Stefano Stabellini
2013-08-08 14:58 ` Jan Beulich
2013-08-08 15:25 ` Ian Campbell
2013-08-14 16:17 ` Stefano Stabellini
2013-08-15 14:32 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CE2965DA.5A2DF%keir.xen@gmail.com \
--to=keir.xen@gmail.com \
--cc=Ian.Campbell@citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.