Re: [RFC][PATCH 0/5 v4] DMA-BUF Heaps (destaging ION)

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

 



Le lun. 13 mai 2019 à 20:37, John Stultz <john.stultz@xxxxxxxxxx> a écrit :
>
> Here is another RFC of the dma-buf heaps patchset Andrew and I
> have been working on which tries to destage a fair chunk of ION
> functionality.
>
> The patchset implements per-heap devices which can be opened
> directly and then an ioctl is used to allocate a dmabuf from the
> heap.
>
> The interface is similar, but much simpler then IONs, only
> providing an ALLOC ioctl.
>
> Also, I've provided relatively simple system and cma heaps.
>
> I've booted and tested these patches with AOSP on the HiKey960
> using the kernel tree here:
>   https://git.linaro.org/people/john.stultz/android-dev.git/log/?h=dev/dma-buf-heap
>
> And the userspace changes here:
>   https://android-review.googlesource.com/c/device/linaro/hikey/+/909436
>
> Compared to ION, this patchset is missing the system-contig,
> carveout and chunk heaps, as I don't have a device that uses
> those, so I'm unable to do much useful validation there.
> Additionally we have no upstream users of chunk or carveout,
> and the system-contig has been deprecated in the common/andoid-*
> kernels, so this should be ok.
>
> I've also removed the stats accounting for now, since any such
> accounting  should be implemented by dma-buf core or the heaps
> themselves.
>
>
> New in v4:
> * Add fd_flags per Benjamin's request to specify the creation
>   flags for the dmabuf fd.
> * Added some optimization in the system heap to allocate
>   contiguous pages where possible.
> * Reworked the kselftest code to use vgem rather then
>   introducing a dummy importer
> * Other cleanups suggested by Benjamin and Andrew.
>
>
> Outstanding concerns:
> * Need to better understand various secure heap implementations.
>   Some concern that heap private flags will be needed, but its
>   also possible that dma-buf heaps can't solve everyone's needs,
>   in which case, a vendor's secure buffer driver can implement
>   their own dma-buf exporter.
> * Making sure the performance issues from potentially
>   unnecessary cache-management operations can be resolved
>   properly for system and cma heaps(outstanding issue from ION).
>
>
> That said, the main user-interface is shaping up and I wanted
> to get some input on the device model (particularly from GreKH)
> and any other API/ABI specific input.
>

For the whole series:
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx>

Thanks,
Benjamin

> thanks
> -john
>
>
> Cc: Laura Abbott <labbott@xxxxxxxxxx>
> Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx>
> Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx>
> Cc: Liam Mark <lmark@xxxxxxxxxxxxxx>
> Cc: Pratik Patel <pratikp@xxxxxxxxxxxxxx>
> Cc: Brian Starkey <Brian.Starkey@xxxxxxx>
> Cc: Vincent Donnefort <Vincent.Donnefort@xxxxxxx>
> Cc: Sudipto Paul <Sudipto.Paul@xxxxxxx>
> Cc: Andrew F. Davis <afd@xxxxxx>
> Cc: Xu YiPing <xuyiping@xxxxxxxxxxxxx>
> Cc: "Chenfeng (puck)" <puck.chen@xxxxxxxxxxxxx>
> Cc: butao <butao@xxxxxxxxxxxxx>
> Cc: "Xiaqing (A)" <saberlily.xia@xxxxxxxxxxxxx>
> Cc: Yudongbin <yudongbin@xxxxxxxxxxxxx>
> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>
> Cc: Chenbo Feng <fengc@xxxxxxxxxx>
> Cc: Alistair Strachan <astrachan@xxxxxxxxxx>
> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
>
> Andrew F. Davis (1):
>   dma-buf: Add dma-buf heaps framework
>
> John Stultz (4):
>   dma-buf: heaps: Add heap helpers
>   dma-buf: heaps: Add system heap to dmabuf heaps
>   dma-buf: heaps: Add CMA heap to dmabuf heaps
>   kselftests: Add dma-heap test
>
>  MAINTAINERS                                   |  18 ++
>  drivers/dma-buf/Kconfig                       |  10 +
>  drivers/dma-buf/Makefile                      |   2 +
>  drivers/dma-buf/dma-heap.c                    | 241 ++++++++++++++++
>  drivers/dma-buf/heaps/Kconfig                 |  14 +
>  drivers/dma-buf/heaps/Makefile                |   4 +
>  drivers/dma-buf/heaps/cma_heap.c              | 169 ++++++++++++
>  drivers/dma-buf/heaps/heap-helpers.c          | 261 ++++++++++++++++++
>  drivers/dma-buf/heaps/heap-helpers.h          |  55 ++++
>  drivers/dma-buf/heaps/system_heap.c           | 162 +++++++++++
>  include/linux/dma-heap.h                      |  59 ++++
>  include/uapi/linux/dma-heap.h                 |  56 ++++
>  tools/testing/selftests/dmabuf-heaps/Makefile |  11 +
>  .../selftests/dmabuf-heaps/dmabuf-heap.c      | 232 ++++++++++++++++
>  14 files changed, 1294 insertions(+)
>  create mode 100644 drivers/dma-buf/dma-heap.c
>  create mode 100644 drivers/dma-buf/heaps/Kconfig
>  create mode 100644 drivers/dma-buf/heaps/Makefile
>  create mode 100644 drivers/dma-buf/heaps/cma_heap.c
>  create mode 100644 drivers/dma-buf/heaps/heap-helpers.c
>  create mode 100644 drivers/dma-buf/heaps/heap-helpers.h
>  create mode 100644 drivers/dma-buf/heaps/system_heap.c
>  create mode 100644 include/linux/dma-heap.h
>  create mode 100644 include/uapi/linux/dma-heap.h
>  create mode 100644 tools/testing/selftests/dmabuf-heaps/Makefile
>  create mode 100644 tools/testing/selftests/dmabuf-heaps/dmabuf-heap.c
>
> --
> 2.17.1
>
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux