From: Sam Ravnborg <sam@ravnborg.org>
To: Emil Velikov <emil.l.velikov@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 00/36] drm: Fareless gem_free_object
Date: Thu, 7 May 2020 20:17:26 +0200 [thread overview]
Message-ID: <20200507181726.GE13247@ravnborg.org> (raw)
In-Reply-To: <20200507150822.114464-1-emil.l.velikov@gmail.com>
Hi Emil.
On Thu, May 07, 2020 at 04:07:46PM +0100, Emil Velikov wrote:
> Hi all,
>
> Recently I had a look at the new dmabuf AMDGPU implementation.
>
> Seemingly it was using the wrong drm_gem_object_put API. Namely the
> locked one, even though the driver is struct_mutex free.
>
> Upon checking with the documentation, I've noticed it's a bit misleading
> so I've went ahead and:
>
> - tweaked the drm_gem_object_put/struct_mutex references in the docs
> - fixed up the AMDGPU caller
> - removed the gem_free_object driver hook - \o/
> - fold drm_gem_object_put_unlocked and __drm_gem_object_put
> - drm_gem_object_put - add _locked suffix
> - drm_gem_object_put_unlocked - remove _unlocked suffix
>
> Although the rename patches are a handful, it does make sense to have a
> consistent and obviously named API.
>
> Input and reviews are highly appreciated.
All patches I did not comment are:
Acked-by: Sam Ravnborg <sam@ravnborg.org>
I see why you introduced _unlocked, and remove it again.
So you could ask the compiler to help you.
But I see this as something that should not be committed and only
part of your own tree.
But thats not something I feel too strong about - let's just say it
confused me a lttle.
The driver patches was only skimmed, as they were mechanical anyway.
Sam
> Emil
>
> Cc: Daniel Vetter <daniel@ffwll.ch>
>
> Emil Velikov (36):
> drm: remove unused drm_gem.h include
> drm/gem: use _unlocked reference in drm_gem_objects_lookup docs
> drm/todo: mention i915 in the struct_mutex section
> drm/doc: drop struct_mutex references
> drm/doc: drop struct_mutex refernce for drm_gem_object_free
> drm/amdgpu: use the unlocked drm_gem_object_put
> drm/gma500: Use lockless gem BO free callback
> drm: remove drm_driver::gem_free_object
> drm/gem: fold drm_gem_object_put_unlocked and __drm_gem_object_put()
> drm/gem: add _locked suffix to drm_object_put
> drm/gem: add drm_object_put helper
> drm/amd: remove _unlocked suffix in drm_object_put_unlocked
> drm/arm: remove _unlocked suffix in drm_object_put_unlocked
> drm/armada: remove _unlocked suffix in drm_object_put_unlocked
> drm/etnaviv: remove _unlocked suffix in drm_object_put_unlocked
> drm/exynos: remove _unlocked suffix in drm_object_put_unlocked
> drm/gma500: remove _unlocked suffix in drm_object_put_unlocked
> drm/i915: remove _unlocked suffix in drm_object_put_unlocked
> drm/lima: remove _unlocked suffix in drm_object_put_unlocked
> drm/mediatek: remove _unlocked suffix in drm_object_put_unlocked
> drm/mgag200: remove _unlocked suffix in drm_object_put_unlocked
> drm/msm: remove _unlocked suffix in drm_object_put_unlocked
> drm/nouveau: remove _unlocked suffix in drm_object_put_unlocked
> drm/omapdrm: remove _unlocked suffix in drm_object_put_unlocked
> drm/panfrost: remove _unlocked suffix in drm_object_put_unlocked
> drm/qxl: remove _unlocked suffix in drm_object_put_unlocked
> drm/radeon: remove _unlocked suffix in drm_object_put_unlocked
> drm/rockchip: remove _unlocked suffix in drm_object_put_unlocked
> drm/tegra: remove _unlocked suffix in drm_object_put_unlocked
> drm/v3d: remove _unlocked suffix in drm_object_put_unlocked
> drm/vc4: remove _unlocked suffix in drm_object_put_unlocked
> drm/vgem: remove _unlocked suffix in drm_object_put_unlocked
> drm/virtio: remove _unlocked suffix in drm_object_put_unlocked
> drm/vkms: remove _unlocked suffix in drm_object_put_unlocked
> drm/xen: remove _unlocked suffix in drm_object_put_unlocked
> drm/gem: remove _unlocked suffix in drm_object_put_unlocked
>
> Documentation/gpu/drm-mm.rst | 5 +-
> Documentation/gpu/todo.rst | 4 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 4 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 4 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 20 +++---
> drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 6 +-
> drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 6 +-
> drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 6 +-
> drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 6 +-
> .../arm/display/komeda/komeda_framebuffer.c | 6 +-
> drivers/gpu/drm/arm/malidp_drv.c | 4 +-
> drivers/gpu/drm/armada/armada_crtc.c | 8 +--
> drivers/gpu/drm/armada/armada_fb.c | 4 +-
> drivers/gpu/drm/armada/armada_fbdev.c | 6 +-
> drivers/gpu/drm/armada/armada_gem.c | 10 +--
> drivers/gpu/drm/drm_client.c | 2 +-
> drivers/gpu/drm/drm_gem.c | 70 +++++--------------
> drivers/gpu/drm/drm_gem_cma_helper.c | 8 +--
> drivers/gpu/drm/drm_gem_framebuffer_helper.c | 6 +-
> drivers/gpu/drm/drm_gem_shmem_helper.c | 4 +-
> drivers/gpu/drm/drm_gem_ttm_helper.c | 2 +-
> drivers/gpu/drm/drm_gem_vram_helper.c | 10 +--
> drivers/gpu/drm/drm_prime.c | 6 +-
> drivers/gpu/drm/drm_vm.c | 1 -
> drivers/gpu/drm/etnaviv/etnaviv_drv.c | 8 +--
> drivers/gpu/drm/etnaviv/etnaviv_gem.c | 6 +-
> drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c | 2 +-
> drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 2 +-
> drivers/gpu/drm/exynos/exynos_drm_gem.c | 4 +-
> drivers/gpu/drm/exynos/exynos_drm_gem.h | 2 +-
> drivers/gpu/drm/gma500/framebuffer.c | 2 +-
> drivers/gpu/drm/gma500/gem.c | 2 +-
> drivers/gpu/drm/gma500/gma_display.c | 6 +-
> drivers/gpu/drm/gma500/psb_drv.c | 2 +-
> drivers/gpu/drm/i915/gem/i915_gem_object.h | 2 +-
> drivers/gpu/drm/lima/lima_gem.c | 10 +--
> drivers/gpu/drm/lima/lima_sched.c | 2 +-
> drivers/gpu/drm/mediatek/mtk_drm_gem.c | 2 +-
> drivers/gpu/drm/mgag200/mgag200_cursor.c | 8 +--
> drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +-
> drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +-
> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +-
> drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 4 +-
> drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 2 +-
> drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 2 +-
> drivers/gpu/drm/msm/dsi/dsi_host.c | 2 +-
> drivers/gpu/drm/msm/msm_drv.c | 8 +--
> drivers/gpu/drm/msm/msm_fb.c | 4 +-
> drivers/gpu/drm/msm/msm_gem.c | 18 ++---
> drivers/gpu/drm/msm/msm_gem_submit.c | 2 +-
> drivers/gpu/drm/msm/msm_gpu.c | 2 +-
> drivers/gpu/drm/nouveau/dispnv04/crtc.c | 2 +-
> drivers/gpu/drm/nouveau/nouveau_abi16.c | 2 +-
> drivers/gpu/drm/nouveau/nouveau_display.c | 8 +--
> drivers/gpu/drm/nouveau/nouveau_gem.c | 14 ++--
> drivers/gpu/drm/omapdrm/omap_drv.c | 2 +-
> drivers/gpu/drm/omapdrm/omap_fb.c | 2 +-
> drivers/gpu/drm/omapdrm/omap_fbdev.c | 2 +-
> drivers/gpu/drm/omapdrm/omap_gem.c | 4 +-
> drivers/gpu/drm/panfrost/panfrost_drv.c | 10 +--
> drivers/gpu/drm/panfrost/panfrost_gem.c | 4 +-
> drivers/gpu/drm/panfrost/panfrost_job.c | 2 +-
> drivers/gpu/drm/panfrost/panfrost_mmu.c | 2 +-
> drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 4 +-
> drivers/gpu/drm/qxl/qxl_cmd.c | 2 +-
> drivers/gpu/drm/qxl/qxl_display.c | 6 +-
> drivers/gpu/drm/qxl/qxl_dumb.c | 2 +-
> drivers/gpu/drm/qxl/qxl_gem.c | 2 +-
> drivers/gpu/drm/qxl/qxl_ioctl.c | 4 +-
> drivers/gpu/drm/qxl/qxl_object.c | 4 +-
> drivers/gpu/drm/radeon/radeon_cs.c | 2 +-
> drivers/gpu/drm/radeon/radeon_cursor.c | 6 +-
> drivers/gpu/drm/radeon/radeon_display.c | 8 +--
> drivers/gpu/drm/radeon/radeon_fb.c | 4 +-
> drivers/gpu/drm/radeon/radeon_gem.c | 30 ++++----
> drivers/gpu/drm/radeon/radeon_object.c | 2 +-
> drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 2 +-
> drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 2 +-
> drivers/gpu/drm/tegra/drm.c | 12 ++--
> drivers/gpu/drm/tegra/fb.c | 6 +-
> drivers/gpu/drm/tegra/gem.c | 4 +-
> drivers/gpu/drm/v3d/v3d_bo.c | 6 +-
> drivers/gpu/drm/v3d/v3d_gem.c | 4 +-
> drivers/gpu/drm/v3d/v3d_irq.c | 2 +-
> drivers/gpu/drm/vc4/vc4_bo.c | 14 ++--
> drivers/gpu/drm/vc4/vc4_gem.c | 14 ++--
> drivers/gpu/drm/vc4/vc4_kms.c | 2 +-
> drivers/gpu/drm/vc4/vc4_v3d.c | 4 +-
> drivers/gpu/drm/vgem/vgem_drv.c | 6 +-
> drivers/gpu/drm/vgem/vgem_fence.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_display.c | 2 +-
> drivers/gpu/drm/virtio/virtgpu_gem.c | 6 +-
> drivers/gpu/drm/virtio/virtgpu_ioctl.c | 6 +-
> drivers/gpu/drm/vkms/vkms_gem.c | 2 +-
> drivers/gpu/drm/xen/xen_drm_front.c | 4 +-
> include/drm/drm_drv.h | 8 ---
> include/drm/drm_gem.h | 28 +++-----
> 99 files changed, 269 insertions(+), 325 deletions(-)
>
> --
> 2.25.1
>
> _______________________________________________
> 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
next prev parent reply other threads:[~2020-05-07 18:17 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-07 15:07 [PATCH 00/36] drm: Fareless gem_free_object Emil Velikov
2020-05-07 15:07 ` [PATCH 01/36] drm: remove unused drm_gem.h include Emil Velikov
2020-05-07 15:30 ` Thomas Zimmermann
2020-05-07 15:07 ` [PATCH 02/36] drm/gem: use _unlocked reference in drm_gem_objects_lookup docs Emil Velikov
2020-05-07 17:58 ` Sam Ravnborg
2020-05-07 15:07 ` [PATCH 03/36] drm/todo: mention i915 in the struct_mutex section Emil Velikov
2020-05-08 6:26 ` Daniel Vetter
2020-05-08 14:45 ` Ruhl, Michael J
2020-05-07 15:07 ` [PATCH 04/36] drm/doc: drop struct_mutex references Emil Velikov
2020-05-07 18:01 ` Sam Ravnborg
2020-05-08 10:01 ` Emil Velikov
2020-05-08 11:08 ` Sam Ravnborg
2020-05-08 6:27 ` Daniel Vetter
2020-05-08 10:07 ` Emil Velikov
2020-05-08 10:45 ` Daniel Vetter
2020-05-07 15:07 ` [PATCH 05/36] drm/doc: drop struct_mutex refernce for drm_gem_object_free Emil Velikov
2020-05-08 6:31 ` Daniel Vetter
2020-05-07 15:07 ` [PATCH 06/36] drm/amdgpu: use the unlocked drm_gem_object_put Emil Velikov
2020-05-07 18:03 ` Sam Ravnborg
2020-05-08 8:16 ` Christian König
2020-05-08 9:55 ` Emil Velikov
2020-05-08 11:09 ` Sam Ravnborg
2020-05-08 8:13 ` Christian König
2020-05-07 15:07 ` [PATCH 07/36] drm/gma500: Use lockless gem BO free callback Emil Velikov
2020-05-07 17:16 ` Thomas Zimmermann
2020-05-07 15:07 ` [PATCH 08/36] drm: remove drm_driver::gem_free_object Emil Velikov
2020-05-07 17:20 ` Thomas Zimmermann
2020-05-07 15:07 ` [PATCH 09/36] drm/gem: fold drm_gem_object_put_unlocked and __drm_gem_object_put() Emil Velikov
2020-05-08 6:43 ` Daniel Vetter
2020-05-08 10:52 ` Emil Velikov
2020-05-07 15:07 ` [PATCH 10/36] drm/gem: add _locked suffix to drm_object_put Emil Velikov
2020-05-08 6:40 ` Daniel Vetter
2020-05-08 11:00 ` Emil Velikov
2020-05-08 11:25 ` Daniel Vetter
2020-05-07 15:07 ` [PATCH 11/36] drm/gem: add drm_object_put helper Emil Velikov
2020-05-08 6:33 ` Jani Nikula
2020-05-08 10:16 ` Emil Velikov
2020-05-07 15:07 ` [PATCH 12/36] drm/amd: remove _unlocked suffix in drm_object_put_unlocked Emil Velikov
2020-05-08 9:23 ` Christian König
2020-05-08 10:45 ` Emil Velikov
2020-05-07 15:07 ` [PATCH 13/36] drm/arm: " Emil Velikov
2020-05-14 15:23 ` Liviu Dudau
2020-05-07 15:08 ` [PATCH 14/36] drm/armada: " Emil Velikov
2020-05-07 15:08 ` [PATCH 15/36] drm/etnaviv: " Emil Velikov
2020-05-07 15:08 ` [PATCH 16/36] drm/exynos: " Emil Velikov
2020-05-07 15:08 ` [PATCH 17/36] drm/gma500: " Emil Velikov
2020-05-07 15:08 ` [PATCH 18/36] drm/i915: " Emil Velikov
2020-05-07 15:08 ` [PATCH 19/36] drm/lima: " Emil Velikov
2020-05-07 15:08 ` [PATCH 20/36] drm/mediatek: " Emil Velikov
2020-05-09 13:45 ` Chun-Kuang Hu
2020-05-07 15:08 ` [PATCH 21/36] drm/mgag200: " Emil Velikov
2020-05-08 6:30 ` Thomas Zimmermann
2020-05-07 15:08 ` [PATCH 22/36] drm/msm: " Emil Velikov
2020-05-07 15:08 ` [PATCH 23/36] drm/nouveau: " Emil Velikov
2020-05-07 15:08 ` [PATCH 24/36] drm/omapdrm: " Emil Velikov
2020-05-07 15:08 ` [PATCH 25/36] drm/panfrost: " Emil Velikov
2020-05-07 15:08 ` [PATCH 26/36] drm/qxl: " Emil Velikov
2020-05-07 15:08 ` [PATCH 27/36] drm/radeon: " Emil Velikov
2020-05-07 15:08 ` [PATCH 28/36] drm/rockchip: " Emil Velikov
2020-05-07 15:08 ` [PATCH 29/36] drm/tegra: " Emil Velikov
2020-05-07 15:08 ` [PATCH 30/36] drm/v3d: " Emil Velikov
2020-05-07 15:08 ` [PATCH 31/36] drm/vc4: " Emil Velikov
2020-05-07 15:08 ` [PATCH 32/36] drm/vgem: " Emil Velikov
2020-05-07 15:08 ` [PATCH 33/36] drm/virtio: " Emil Velikov
2020-05-07 15:08 ` [PATCH 34/36] drm/vkms: " Emil Velikov
2020-05-07 15:08 ` [PATCH 35/36] drm/xen: " Emil Velikov
2020-05-07 15:08 ` [PATCH 36/36] drm/gem: " Emil Velikov
2020-05-07 18:14 ` Sam Ravnborg
2020-05-08 10:15 ` Emil Velikov
2020-05-08 11:02 ` Sam Ravnborg
2020-05-08 6:38 ` Thomas Zimmermann
2020-05-07 18:17 ` Sam Ravnborg [this message]
2020-05-08 10:35 ` [PATCH 00/36] drm: Fareless gem_free_object Emil Velikov
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=20200507181726.GE13247@ravnborg.org \
--to=sam@ravnborg.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=emil.l.velikov@gmail.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