Re: [Xen-devel] [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver

Oleksandr Andrushchenko
2018-04-23T12:10:41Z

On 04/23/2018 02:52 PM, Wei Liu wrote:
> On Fri, Apr 20, 2018 at 02:25:20PM +0300, Oleksandr Andrushchenko wrote:
>>>> the gntdev.
>>>>
>>>> I think this is generic enough that it could be implemented by a
>>>> device not tied to Xen. AFAICT the hyper_dma guys also wanted
>>>> something similar to this.
>>> You can't just wrap random userspace memory into a dma-buf. We've just had
>>> this discussion with kvm/qemu folks, who proposed just that, and after a
>>> bit of discussion they'll now try to have a driver which just wraps a
>>> memfd into a dma-buf.
>> So, we have to decide either we introduce a new driver
>> (say, under drivers/xen/xen-dma-buf) or extend the existing
>> gntdev/balloon to support dma-buf use-cases.
>>
>> Can anybody from Xen community express their preference here?
>>
> Oleksandr talked to me on IRC about this, he said a few IOCTLs need to
> be added to either existing drivers or a new driver.
>
> I went through this thread twice and skimmed through the relevant
> documents, but I couldn't see any obvious pros and cons for either
> approach. So I don't really have an opinion on this.
>
> But, assuming if implemented in existing drivers, those IOCTLs need to
> be added to different drivers, which means userspace program needs to
> write more code and get more handles, it would be slightly better to
> implement a new driver from that perspective.
If gntdev/balloon extension is still considered:

All the IOCTLs will be in gntdev driver (in current xen-zcopy terminology):
- DRM_ICOTL_XEN_ZCOPY_DUMB_FROM_REFS
- DRM_IOCTL_XEN_ZCOPY_DUMB_TO_REFS
- DRM_IOCTL_XEN_ZCOPY_DUMB_WAIT_FREE

Balloon driver extension, which is needed for contiguous/DMA
buffers, will be to provide new *kernel API*, no UAPI is needed.

> Wei.
Thank you,
Oleksandr