[Intel-gfx] [PATCH 00/29] dev->struct_mutex crusade, once more

Daniel Vetter daniel at ffwll.ch
Mon Dec 7 00:14:05 PST 2015


On Mon, Nov 23, 2015 at 10:32:33AM +0100, Daniel Vetter wrote:
> Hi all,
> 
> Since Daniel Stone pointed out in the last round that I fumbled one locked vs.
> unlocked case I audited all the drivers once more and uprooted a bunch more
> offenders. They're mostly in error paths, but in case anyone wants to pick them
> up I put them at the beginning of the patch series.
> 
> Again review, comments and acks highly welcome. I'd like to get this all in for
> 4.5 if possible, and will send out a pull request to Dave with the leftovers.

Ping for reviews/acks/merge confirmations please.
-Daniel

> 
> Cheers, Daniel
> 
> Daniel Vetter (29):
>   drm/armada: Use unlocked gem unreferencing
>   drm/nouveau: Use unlocked gem unreferencing
>   drm/omapdrm: Use unlocked gem unreferencing
>   drm/amdgpu: Use unlocked gem unreferencing
>   drm/radeon: Use unlocked gem unreferencing
>   drm/qxl: Use unlocked gem unreferencing
>   drm/tegra: Use unlocked gem unreferencing
>   drm/msm: Use unlocked gem unreferencing
>   drm/udl: Use unlocked gem unreferencing
>   drm/armada: Plug leak in dumb_map_offset
>   drm/armada: Don't grab dev->struct_mutex for in mmap offset ioctl
>   drm/armada: Drop struct_mutex from cursor paths
>   drm/armada: Use a private mutex to protect priv->linear
>   drm/tegra: don't take dev->struct_mutex in mmap offset ioctl
>   drm/tegra: Use drm_gem_object_unreference_unlocked
>   drm/gma500: Use correct unref in the gem bo create function
>   drm/gma500: Drop dev->struct_mutex from modeset code
>   drm/gma500: Drop dev->struct_mutex from fbdev init/teardown code
>   drm/gma500: Drop dev->struct_mutex from mmap offset function
>   drm/gma500: Add driver private mutex for the fault handler
>   drm/nouveau: Drop dev->struct_mutex from fbdev init
>   drm/exynos: Drop dev->struct_mutex from mmap offset function
>   drm/exynos: drop struct_mutex from exynos_gem_map_sgt_with_dma
>   drm/exynos: drop struct_mutex from exynos_drm_gem_get_ioctl
>   drm/exynos: drop struct_mutex from fbdev setup
>   drm/vgem: Simplify dum_map
>   drm/vgem: Move get_pages to gem_create
>   drm/vgem: Drop dev->struct_mutex
>   drm/vma_manage: Drop has_offset
> 
>  drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c    |  2 +-
>  drivers/gpu/drm/armada/armada_crtc.c      |  8 ++-----
>  drivers/gpu/drm/armada/armada_debugfs.c   |  4 ++--
>  drivers/gpu/drm/armada/armada_drm.h       |  3 ++-
>  drivers/gpu/drm/armada/armada_drv.c       |  1 +
>  drivers/gpu/drm/armada/armada_gem.c       | 25 ++++++++++-----------
>  drivers/gpu/drm/drm_gem.c                 | 17 +++++++++++++++
>  drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 22 +++++++------------
>  drivers/gpu/drm/exynos/exynos_drm_gem.c   | 19 +++-------------
>  drivers/gpu/drm/gma500/framebuffer.c      | 12 ++---------
>  drivers/gpu/drm/gma500/gem.c              | 19 ++++++----------
>  drivers/gpu/drm/gma500/gma_display.c      | 13 +++--------
>  drivers/gpu/drm/gma500/gtt.c              |  1 +
>  drivers/gpu/drm/gma500/psb_drv.h          |  2 ++
>  drivers/gpu/drm/i915/i915_gem.c           |  3 ---
>  drivers/gpu/drm/msm/msm_fbdev.c           |  2 +-
>  drivers/gpu/drm/nouveau/nouveau_display.c |  2 +-
>  drivers/gpu/drm/nouveau/nouveau_fbcon.c   |  5 -----
>  drivers/gpu/drm/omapdrm/omap_fbdev.c      |  2 +-
>  drivers/gpu/drm/qxl/qxl_fb.c              |  4 ++--
>  drivers/gpu/drm/radeon/radeon_fb.c        |  2 +-
>  drivers/gpu/drm/tegra/drm.c               | 14 ++++++------
>  drivers/gpu/drm/tegra/gem.c               | 13 ++---------
>  drivers/gpu/drm/udl/udl_fb.c              |  2 +-
>  drivers/gpu/drm/udl/udl_gem.c             |  2 +-
>  drivers/gpu/drm/vgem/vgem_drv.c           | 36 ++++++++++---------------------
>  include/drm/drm_vma_manager.h             | 15 +------------
>  27 files changed, 89 insertions(+), 161 deletions(-)
> 
> -- 
> 2.5.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list