[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 3/3] xen: introduce XENMEM_get_dma_buf and XENMEM_put_dma_buf

On 08/08/2013 11:40, "Ian Campbell" <Ian.Campbell@xxxxxxxxxx> 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

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.