linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Andrew F. Davis" <afd@ti.com>
To: Ayan Halder <Ayan.Halder@arm.com>,
	Sumit Semwal <sumit.semwal@linaro.org>
Cc: nd <nd@arm.com>, Alistair Strachan <astrachan@google.com>,
	Vincent Donnefort <Vincent.Donnefort@arm.com>,
	Chenbo Feng <fengc@google.com>,
	lkml <linux-kernel@vger.kernel.org>,
	Liam Mark <lmark@codeaurora.org>,
	Christoph Hellwig <hch@infradead.org>,
	DRI mailing list <dri-devel@lists.freedesktop.org>,
	Hridya Valsaraju <hridya@google.com>,
	Sudipto Paul <Sudipto.Paul@arm.com>,
	Pratik Patel <pratikp@codeaurora.org>
Subject: Re: [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION)
Date: Wed, 9 Oct 2019 14:27:15 -0400	[thread overview]
Message-ID: <f4fb09a5-999b-e676-0403-cc0de41be440@ti.com> (raw)
In-Reply-To: <20191009173742.GA2682@arm.com>

On 10/9/19 1:37 PM, Ayan Halder wrote:
> On Tue, Sep 24, 2019 at 04:22:18PM +0000, Ayan Halder wrote:
>> On Thu, Sep 19, 2019 at 10:21:52PM +0530, Sumit Semwal wrote:
>>> Hello Christoph, everyone,
>>>
>>> On Sat, 7 Sep 2019 at 00:17, John Stultz <john.stultz@linaro.org> wrote:
>>>>
>>>> Here is yet another pass at 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, since any such accounting
>>>> should be implemented by dma-buf core or the heaps themselves.
>>>>
>>>> Most of the changes in this revision are adddressing the more
>>>> concrete feedback from Christoph (many thanks!). Though I'm not
>>>> sure if some of the less specific feedback was completely resolved
>>>> in discussion last time around. Please let me know!
>>>
>>> It looks like most of the feedback has been taken care of. If there's
>>> no more objection to this series, I'd like to merge it in soon.
>>>
>>> If there are any more review comments, may I request you to please provide them?
>>
>> I tested these patches using our internal test suite with Arm,komeda
>> driver and the following node in dts
>>
>>         reserved-memory {
>>                 #address-cells = <0x2>;
>>                 #size-cells = <0x2>;
>>                 ranges;
>>
>>                 framebuffer@60000000 {
>>                         compatible = "shared-dma-pool";
>>                         linux,cma-default;
>>                         reg = <0x0 0x60000000 0x0 0x8000000>;
>>                 };
>>         }
> Apologies for the confusion, this dts node is irrelevant as our tests were using
> the cma heap (via /dev/dma_heap/reserved).
> 
> That raises a question. How do we represent the reserved-memory nodes
> (as shown above) via the dma-buf heaps framework ?


The CMA driver that registers these nodes will have to be expanded to
export them using this framework as needed. We do something similar to
export SRAM nodes:

https://lkml.org/lkml/2019/3/21/575

Unlike the system/default-cma driver which can be centralized in the
tree, these extra exporters will probably live out in other subsystems
and so are added in later steps.

Andrew


>>
>> The tests went fine. Our tests allocates framebuffers of different
>> sizes, posts them on screen and the driver writes back to one of the
>> framebuffers. I havenot tested for any performance, latency or
>> cache management related stuff. So, it that looks appropriate, feel
>> free to add:-
>> Tested-by:- Ayan Kumar Halder <ayan.halder@arm.com>
>>
>> Are you planning to write some igt tests for it ?
>>>
>>>>
>>>> New in v8:
>>>> * Make struct dma_heap_ops consts (Suggested by Christoph)
>>>> * Add flush_kernel_vmap_range/invalidate_kernel_vmap_range calls
>>>>   (suggested by Christoph)
>>>> * Condense dma_heap_buffer and heap_helper_buffer (suggested by
>>>>   Christoph)
>>>> * Get rid of needless struct system_heap (suggested by Christoph)
>>>> * Fix indentation by using shorter argument names (suggested by
>>>>   Christoph)
>>>> * Remove unused private_flags value
>>>> * Add forgotten include file to fix build issue on x86
>>>> * Checkpatch whitespace fixups
>>>>
>>>> Thoughts and feedback would be greatly appreciated!
>>>>
>>>> thanks
>>>> -john
>>> Best,
>>> Sumit.
>>>>
>>>> Cc: Laura Abbott <labbott@redhat.com>
>>>> Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
>>>> Cc: Sumit Semwal <sumit.semwal@linaro.org>
>>>> Cc: Liam Mark <lmark@codeaurora.org>
>>>> Cc: Pratik Patel <pratikp@codeaurora.org>
>>>> Cc: Brian Starkey <Brian.Starkey@arm.com>
>>>> Cc: Vincent Donnefort <Vincent.Donnefort@arm.com>
>>>> Cc: Sudipto Paul <Sudipto.Paul@arm.com>
>>>> Cc: Andrew F. Davis <afd@ti.com>
>>>> Cc: Christoph Hellwig <hch@infradead.org>
>>>> Cc: Chenbo Feng <fengc@google.com>
>>>> Cc: Alistair Strachan <astrachan@google.com>
>>>> Cc: Hridya Valsaraju <hridya@google.com>
>>>> Cc: dri-devel@lists.freedesktop.org
>>>>
>>>>
>>>> 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                       |  11 +
>>>>  drivers/dma-buf/Makefile                      |   2 +
>>>>  drivers/dma-buf/dma-heap.c                    | 250 ++++++++++++++++
>>>>  drivers/dma-buf/heaps/Kconfig                 |  14 +
>>>>  drivers/dma-buf/heaps/Makefile                |   4 +
>>>>  drivers/dma-buf/heaps/cma_heap.c              | 164 +++++++++++
>>>>  drivers/dma-buf/heaps/heap-helpers.c          | 269 ++++++++++++++++++
>>>>  drivers/dma-buf/heaps/heap-helpers.h          |  55 ++++
>>>>  drivers/dma-buf/heaps/system_heap.c           | 122 ++++++++
>>>>  include/linux/dma-heap.h                      |  59 ++++
>>>>  include/uapi/linux/dma-heap.h                 |  55 ++++
>>>>  tools/testing/selftests/dmabuf-heaps/Makefile |   9 +
>>>>  .../selftests/dmabuf-heaps/dmabuf-heap.c      | 230 +++++++++++++++
>>>>  14 files changed, 1262 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
>>>>
>>>
>>>
>>> -- 
>>> Thanks and regards,
>>>
>>> Sumit Semwal
>>> Linaro Consumer Group - Kernel Team Lead
>>> Linaro.org │ Open source software for ARM SoCs
>>> _______________________________________________
>>> dri-devel mailing list
>>> dri-devel@lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2019-10-09 18:27 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-06 18:47 [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION) John Stultz
2019-09-06 18:47 ` [RESEND][PATCH v8 1/5] dma-buf: Add dma-buf heaps framework John Stultz
2019-09-23 22:08   ` Brian Starkey
2019-09-24 17:10     ` John Stultz
2019-09-06 18:47 ` [RESEND][PATCH v8 2/5] dma-buf: heaps: Add heap helpers John Stultz
2019-09-23 22:08   ` Brian Starkey
2019-09-06 18:47 ` [RESEND][PATCH v8 3/5] dma-buf: heaps: Add system heap to dmabuf heaps John Stultz
2019-09-23 22:09   ` Brian Starkey
2019-09-06 18:47 ` [RESEND][PATCH v8 4/5] dma-buf: heaps: Add CMA " John Stultz
2019-09-23 22:10   ` Brian Starkey
2019-09-06 18:47 ` [RESEND][PATCH v8 5/5] kselftests: Add dma-heap test John Stultz
2019-09-23 22:11   ` Brian Starkey
2019-09-26 21:36     ` John Stultz
2019-09-27  9:20       ` Brian Starkey
2019-09-19 16:51 ` [RESEND][PATCH v8 0/5] DMA-BUF Heaps (destaging ION) Sumit Semwal
2019-09-24 16:22   ` Ayan Halder
2019-09-24 16:28     ` John Stultz
2019-10-09 17:37     ` Ayan Halder
2019-10-09 18:27       ` Andrew F. Davis [this message]
2019-10-14  9:07         ` Brian Starkey
2019-10-16 17:40           ` Andrew F. Davis
2019-10-17 19:14             ` John Stultz
2019-10-17 19:29               ` Andrew F. Davis
2019-10-17 20:57                 ` John Stultz
2019-10-18  9:55                   ` Brian Starkey
2019-10-18 18:33                     ` John Stultz
2019-10-18 18:41                     ` Ayan Halder
2019-10-18 18:49                       ` John Stultz
2019-10-18 18:57                         ` Ayan Halder
2019-10-18 19:04                           ` John Stultz
2019-10-19 13:41                           ` Andrew F. Davis
2019-10-21  9:18                             ` Brian Starkey
2019-10-22 13:51                               ` Ayan Halder
2019-10-18 18:51                       ` Ayan Halder
2019-10-16 17:34       ` John Stultz
2019-09-30 13:40 ` Laura Abbott
     [not found] ` <20190930074335.6636-1-hdanton@sina.com>
2019-10-01 20:50   ` [RESEND][PATCH v8 3/5] dma-buf: heaps: Add system heap to dmabuf heaps John Stultz
     [not found] ` <20190930032651.8264-1-hdanton@sina.com>
2019-10-02 16:14   ` [RESEND][PATCH v8 1/5] dma-buf: Add dma-buf heaps framework John Stultz
     [not found] ` <20190930081434.248-1-hdanton@sina.com>
2019-10-02 16:15   ` [RESEND][PATCH v8 4/5] dma-buf: heaps: Add CMA heap to dmabuf heaps John Stultz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f4fb09a5-999b-e676-0403-cc0de41be440@ti.com \
    --to=afd@ti.com \
    --cc=Ayan.Halder@arm.com \
    --cc=Sudipto.Paul@arm.com \
    --cc=Vincent.Donnefort@arm.com \
    --cc=astrachan@google.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=fengc@google.com \
    --cc=hch@infradead.org \
    --cc=hridya@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lmark@codeaurora.org \
    --cc=nd@arm.com \
    --cc=pratikp@codeaurora.org \
    --cc=sumit.semwal@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).