public inbox for linux-rockchip@lists.infradead.org
 help / color / mirror / Atom feed
From: "Christian König" <christian.koenig@amd.com>
To: "T.J. Mercier" <tjmercier@google.com>, Rong Qianfeng <11065417@vivo.com>
Cc: Rong Qianfeng <rongqianfeng@vivo.com>,
	Jianqun Xu <jay.xu@rock-chips.com>,
	sumit.semwal@linaro.org, pekka.paalanen@collabora.com,
	daniel.vetter@ffwll.ch, jason@jlekstrand.net,
	linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linaro-mm-sig@lists.linaro.org, linux-kernel@vger.kernel.org,
	linux-rockchip@lists.infradead.org
Subject: Re: [PATCH] dma-buf: add DMA_BUF_IOCTL_SYNC_PARTIAL support
Date: Wed, 10 Apr 2024 16:22:00 +0200	[thread overview]
Message-ID: <0df41277-ded5-4a42-9df5-864d2b6646f5@amd.com> (raw)
In-Reply-To: <CABdmKX1OZ9yT3YQA9e7JzKND9wfiL-hnf87Q6v9pwtnAeLHrdA@mail.gmail.com>

Am 09.04.24 um 18:37 schrieb T.J. Mercier:
> On Tue, Apr 9, 2024 at 12:34 AM Rong Qianfeng <11065417@vivo.com> wrote:
>>
>> 在 2024/4/8 15:58, Christian König 写道:
>>> Am 07.04.24 um 09:50 schrieb Rong Qianfeng:
>>>> [SNIP]
>>>>> Am 13.11.21 um 07:22 schrieb Jianqun Xu:
>>>>>> Add DMA_BUF_IOCTL_SYNC_PARTIAL support for user to sync dma-buf with
>>>>>> offset and len.
>>>>> You have not given an use case for this so it is a bit hard to
>>>>> review. And from the existing use cases I don't see why this should
>>>>> be necessary.
>>>>>
>>>>> Even worse from the existing backend implementation I don't even see
>>>>> how drivers should be able to fulfill this semantics.
>>>>>
>>>>> Please explain further,
>>>>> Christian.
>>>> Here is a practical case:
>>>> The user space can allocate a large chunk of dma-buf for
>>>> self-management, used as a shared memory pool.
>>>> Small dma-buf can be allocated from this shared memory pool and
>>>> released back to it after use, thus improving the speed of dma-buf
>>>> allocation and release.
>>>> Additionally, custom functionalities such as memory statistics and
>>>> boundary checking can be implemented in the user space.
>>>> Of course, the above-mentioned functionalities require the
>>>> implementation of a partial cache sync interface.
>>> Well that is obvious, but where is the code doing that?
>>>
>>> You can't send out code without an actual user of it. That will
>>> obviously be rejected.
>>>
>>> Regards,
>>> Christian.
>> In fact, we have already used the user-level dma-buf memory pool in the
>> camera shooting scenario on the phone.
>>
>>   From the test results, The execution time of the photo shooting
>> algorithm has been reduced from 3.8s to 3s.
>>
> For phones, the (out of tree) Android version of the system heap has a
> page pool connected to a shrinker.

Well, it should be obvious but I'm going to repeat it here: Submitting 
kernel patches for our of tree code is a rather *extreme* no-go.

That in kernel code *must* have an in kernel user is a number one rule.

When somebody violates this rule he pretty much disqualifying himself as 
reliable source of patches since maintainers then have to assume that 
this person tries to submit code which doesn't have a justification to 
be upstream.

So while this actually looks useful from the technical side as long as 
nobody does an implementation based on an upstream driver I absolutely 
have to reject it from the organizational side.

Regards,
Christian.

>   That allows you to skip page
> allocation without fully pinning the memory like you get when
> allocating a dma-buf that's way larger than necessary. If it's for a
> camera maybe you need physically contiguous memory, but it's also
> possible to set that up.
>
> https://android.googlesource.com/kernel/common/+/refs/heads/android14-6.1/drivers/dma-buf/heaps/system_heap.c#377
>
>
>> To be honest, I didn't understand your concern "...how drivers should be
>> able to fulfill this semantics." Can you please help explain it in more
>> detail?
>>
>> Thanks,
>>
>> Rong Qianfeng.
>>
>>>> Thanks
>>>> Rong Qianfeng.


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2024-04-10 14:22 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-13  6:22 [PATCH] dma-buf: add DMA_BUF_IOCTL_SYNC_PARTIAL support Jianqun Xu
2021-11-15 11:42 ` Christian König
2024-04-07  7:50   ` Rong Qianfeng
2024-04-08  7:58     ` Christian König
2024-04-09  7:32       ` Rong Qianfeng
2024-04-09 15:34         ` Christian König
2024-04-10  7:09           ` Rong Qianfeng
2024-04-09 16:37         ` T.J. Mercier
2024-04-10 14:22           ` Christian König [this message]
2024-04-10 15:07             ` T.J. Mercier
2024-04-11  8:43               ` Rong Qianfeng
2024-04-11 10:08               ` Christian König
2024-04-11  8:21           ` Rong Qianfeng
2024-04-11 16:52             ` T.J. Mercier
2024-04-12  7:46               ` Rong Qianfeng

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=0df41277-ded5-4a42-9df5-864d2b6646f5@amd.com \
    --to=christian.koenig@amd.com \
    --cc=11065417@vivo.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jason@jlekstrand.net \
    --cc=jay.xu@rock-chips.com \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=pekka.paalanen@collabora.com \
    --cc=rongqianfeng@vivo.com \
    --cc=sumit.semwal@linaro.org \
    --cc=tjmercier@google.com \
    /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