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 >>> >