Re: [PATCH 0/8] xen: dma-buf support for grant device

From: Boris Ostrovsky
Date: Thu May 31 2018 - 15:33:20 EST


On 05/31/2018 01:51 AM, Oleksandr Andrushchenko wrote:
> On 05/31/2018 04:46 AM, Boris Ostrovsky wrote:
>>
>>
>> On 05/25/2018 11:33 AM, Oleksandr Andrushchenko wrote:
>>
>>>
>>> Oleksandr Andrushchenko (8):
>>> ÂÂ xen/grant-table: Make set/clear page private code shared
>>> ÂÂ xen/balloon: Move common memory reservation routines to a module
>>> ÂÂ xen/grant-table: Allow allocating buffers suitable for DMA
>>> ÂÂ xen/gntdev: Allow mappings for DMA buffers
>>> ÂÂ xen/gntdev: Add initial support for dma-buf UAPI
>>> ÂÂ xen/gntdev: Implement dma-buf export functionality
>>> ÂÂ xen/gntdev: Implement dma-buf import functionality
>>> ÂÂ xen/gntdev: Expose gntdev's dma-buf API for in-kernel use
>>>
>>> Â drivers/xen/KconfigÂÂÂÂÂÂÂÂÂÂ |ÂÂ 23 +
>>> Â drivers/xen/MakefileÂÂÂÂÂÂÂÂÂ |ÂÂÂ 1 +
>>> Â drivers/xen/balloon.cÂÂÂÂÂÂÂÂ |ÂÂ 71 +--
>>> Â drivers/xen/gntdev.cÂÂÂÂÂÂÂÂÂ | 1025
>>> ++++++++++++++++++++++++++++++++-
>>
>>
>> I think this calls for gntdev_dma.c.
> I assume you mean as a separate file (part of gntdev driver)?


Yes, source only. The driver stays the same.


>> I only had a quick look over gntdev changes but they very much are
>> concentrated in dma-specific routines.
>>
> I tried to do that, but there are some dependencies between the
> gntdev.c and gntdev_dma.c,
> so finally I decided to put it all together.
>> You essentially only share file_operations entry points with original
>> gntdev code, right?
>>
> fops + mappings done by gntdev (struct grant_map) and I need to
> release map on dma_buf .release
> callback which makes some cross-dependencies between modules which
> seemed to be not cute
> (gntdev keeps its all structs and functions inside, so I cannot easily
> access those w/o
> helpers).
>
> But I'll try one more time and move all DMA specific stuff into
> gntdev_dma.c


Yes, please try it. Maybe even have gntdev_common.c, gntdev_mem.c (??)Â
and gntdev_dma.c.

-boris


>> -boris
>>
> Thank you,
> Oleksandr
>>
>>> Â drivers/xen/grant-table.cÂÂÂÂ |Â 176 +++++-
>>> Â drivers/xen/mem-reservation.c |Â 134 +++++
>>> Â include/uapi/xen/gntdev.hÂÂÂÂ |Â 106 ++++
>>> Â include/xen/grant_dev.hÂÂÂÂÂÂ |ÂÂ 37 ++
>>> Â include/xen/grant_table.hÂÂÂÂ |ÂÂ 28 +
>>> Â include/xen/mem_reservation.h |ÂÂ 29 +
>>> Â 10 files changed, 1527 insertions(+), 103 deletions(-)
>>> Â create mode 100644 drivers/xen/mem-reservation.c
>>> Â create mode 100644 include/xen/grant_dev.h
>>> Â create mode 100644 include/xen/mem_reservation.h
>>>
>