From: "Christian König" <ckoenig.leichtzumerken@gmail.com>
To: Dmitry Osipenko <dmitry.osipenko@collabora.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
Daniel Stone <daniel@fooishbar.org>,
David Airlie <airlied@linux.ie>,
Gerd Hoffmann <kraxel@redhat.com>,
Gurchetan Singh <gurchetansingh@chromium.org>,
Chia-I Wu <olvaffe@gmail.com>,
Daniel Almeida <daniel.almeida@collabora.com>,
Gert Wollny <gert.wollny@collabora.com>,
Gustavo Padovan <gustavo.padovan@collabora.com>,
Tomeu Vizoso <tomeu.vizoso@collabora.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>, Rob Herring <robh@kernel.org>,
Steven Price <steven.price@arm.com>,
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>,
Rob Clark <robdclark@gmail.com>,
Emil Velikov <emil.l.velikov@gmail.com>,
Robin Murphy <robin.murphy@arm.com>,
Dmitry Osipenko <digetx@gmail.com>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
virtualization@lists.linux-foundation.org
Subject: Re: [PATCH v4 10/15] drm/shmem-helper: Take reservation lock instead of drm_gem_shmem locks
Date: Thu, 12 May 2022 09:29:35 +0200 [thread overview]
Message-ID: <f6e42cfb-0252-1273-2ba3-76af818e0799@gmail.com> (raw)
In-Reply-To: <YnwI5UX/zvmnAHvg@phenom.ffwll.local>
Am 11.05.22 um 21:05 schrieb Daniel Vetter:
> [SNIP]
>>>> It's unclear to me which driver may ever want to do the mapping under
>>>> the dma_resv_lock. But if we will ever have such a driver that will need
>>>> to map imported buffer under dma_resv_lock, then we could always add the
>>>> dma_buf_vmap_locked() variant of the function. In this case the locking
>>>> rule will sound like this:
>>>>
>>>> "All dma-buf importers are responsible for holding the dma-reservation
>>>> lock around the dmabuf->ops->mmap/vmap() calls."
>> Are you okay with this rule?
> Yeah I think long-term it's where we want to be, just trying to find
> clever ways to get there.
>
> And I think Christian agrees with that?
Yes, completely.
A design where most DMA-buf functions are supposed to be called with the
reservation lock held is exactly what I have in mind for the long term.
>>>>> It shouldn't be that hard to clean up. The last time I looked into it my
>>>>> main problem was that we didn't had any easy unit test for it.
>>>> Do we have any tests for dma-bufs at all? It's unclear to me what you
>>>> are going to test in regards to the reservation locks, could you please
>>>> clarify?
>>> Unfortunately not really :-/ Only way really is to grab a driver which
>>> needs vmap (those are mostly display drivers) on an imported buffer, and
>>> see what happens.
>>>
>>> 2nd best is liberally sprinkling lockdep annotations all over the place
>>> and throwing it at intel ci (not sure amd ci is accessible to the public)
>>> and then hoping that's good enough. Stuff like might_lock and
>>> dma_resv_assert_held.
>> Alright
> So throwing it at intel-gfx-ci can't hurt I think, but that only covers
> i915 so doesn't really help with the bigger issue of catching all the
> drivers.
BTW: We have now somebody working on converting the existing
libdrm_amdgpu unit tests over to igt.
Regards,
Christian.
>
> Cheers, Daniel
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2022-05-12 7:29 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20220417223707.157113-1-dmitry.osipenko@collabora.com>
[not found] ` <20220417223707.157113-10-dmitry.osipenko@collabora.com>
2022-04-18 18:25 ` [PATCH v4 09/15] drm/shmem-helper: Correct doc-comment of drm_gem_shmem_get_sg_table() Thomas Zimmermann
[not found] ` <20220417223707.157113-11-dmitry.osipenko@collabora.com>
2022-04-18 18:38 ` [PATCH v4 10/15] drm/shmem-helper: Take reservation lock instead of drm_gem_shmem locks Thomas Zimmermann
[not found] ` <d9e7bec1-fffb-e0c4-8659-ef3ce2c31280@collabora.com>
2022-04-27 14:50 ` Daniel Vetter
[not found] ` <8f932ab0-bb72-8fea-4078-dc59e9164bd4@collabora.com>
2022-05-04 8:21 ` Daniel Vetter
[not found] ` <01506516-ab2f-cb6e-7507-f2a3295efb59@collabora.com>
2022-05-05 8:12 ` Daniel Vetter
[not found] ` <83e68918-68de-c0c6-6f9b-e94d34b19383@collabora.com>
2022-05-09 13:42 ` Daniel Vetter
[not found] ` <4d08b382-0076-1ea2-b565-893d50b453cb@collabora.com>
2022-05-11 13:00 ` Daniel Vetter
2022-05-11 14:24 ` Christian König
2022-05-11 15:07 ` Daniel Vetter
[not found] ` <3a362c32-870c-1d73-bba6-bbdcd62dc326@collabora.com>
2022-05-11 15:29 ` Daniel Vetter
[not found] ` <ba2836d0-9a3a-b879-cb1e-a48aed31637d@collabora.com>
2022-05-11 19:05 ` Daniel Vetter
2022-05-12 7:29 ` Christian König [this message]
2022-05-12 14:15 ` Daniel Vetter
[not found] ` <20220417223707.157113-12-dmitry.osipenko@collabora.com>
2022-04-19 7:22 ` [PATCH v4 11/15] drm/shmem-helper: Add generic memory shrinker Thomas Zimmermann
[not found] ` <7f497f99-f4c1-33d6-46cf-95bd90188fe3@collabora.com>
2022-04-27 15:03 ` Daniel Vetter
[not found] ` <d0970dbd-e6e7-afa0-fdfd-b755008e371f@collabora.com>
2022-05-04 8:24 ` Daniel Vetter
2022-06-19 16:54 ` Rob Clark
2022-05-05 8:34 ` Thomas Zimmermann
2022-05-05 11:59 ` Daniel Vetter
[not found] ` <ff97790a-fb64-1e15-74b4-59c807bce0b9@collabora.com>
2022-05-09 13:49 ` Daniel Vetter
[not found] ` <5fdf5232-e2b2-b444-5a41-f1db7e6a04da@collabora.com>
2022-05-11 13:09 ` Daniel Vetter
[not found] ` <3429a12f-9fbe-b66b-dbbd-94a1df54714e@collabora.com>
2022-05-11 19:09 ` Daniel Vetter
[not found] ` <0ae6fed7-b166-d2b8-0e42-84b94b777c20@collabora.com>
2022-05-12 17:04 ` Daniel Vetter
[not found] ` <31bc7a14-ff30-6961-b4fc-0aad83551df9@collabora.com>
2022-05-19 14:13 ` Daniel Vetter
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=f6e42cfb-0252-1273-2ba3-76af818e0799@gmail.com \
--to=ckoenig.leichtzumerken@gmail.com \
--cc=airlied@linux.ie \
--cc=alyssa.rosenzweig@collabora.com \
--cc=daniel.almeida@collabora.com \
--cc=daniel@fooishbar.org \
--cc=digetx@gmail.com \
--cc=dmitry.osipenko@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=emil.l.velikov@gmail.com \
--cc=gert.wollny@collabora.com \
--cc=gurchetansingh@chromium.org \
--cc=gustavo.padovan@collabora.com \
--cc=kraxel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=olvaffe@gmail.com \
--cc=robdclark@gmail.com \
--cc=robh@kernel.org \
--cc=robin.murphy@arm.com \
--cc=steven.price@arm.com \
--cc=tomeu.vizoso@collabora.com \
--cc=tzimmermann@suse.de \
--cc=virtualization@lists.linux-foundation.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).