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

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



On 05/31/2018 11:25 PM, Boris Ostrovsky wrote:
On 05/31/2018 10:41 AM, Oleksandr Andrushchenko wrote:
On 05/31/2018 08: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)?
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
Could you please take a quick look at the way I re-structured the
sources here [1]?
If this is what you meant.

I looked at final gntdev.c code and I think at least one of the chunks
there ("DMA buffer export support. ") can also be moved out. It still
have a bit too many ifdefs but it looks better to my eye than jamming
everything into a single file (and I think more code can be moved out,
but we can talk about it when you post the patches so that we can see
context).
Sure, will send v2 after I re-check all the patches
and run some smoke tests again

BTW, I believe it won't build with !CONFIG_XEN_GNTDEV_DMABUF ---
gntdev_remove_map() is defined under this option and is referenced later
without it.
Will check, thank you

-boris


Thank you,
Oleksandr
-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

[1]
https://github.com/andr2000/linux/commits/xen_tip_linux_next_xen_dma_buf_v2


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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