linux/drivers/gpu/drm/i915/gem
Chris Wilson 155ab8836c drm/i915: Move object close under its own lock
Use i915_gem_object_lock() to guard the LUT and active reference to
allow us to break free of struct_mutex for handling GEM_CLOSE.

Testcase: igt/gem_close_race
Testcase: igt/gem_exec_parallel
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190606112320.9704-1-chris@chris-wilson.co.uk
2019-06-06 12:51:13 +01:00
..
selftests drm/i915: Move object close under its own lock 2019-06-06 12:51:13 +01:00
i915_gem_busy.c drm/i915: Move GEM object busy checking to its own file 2019-05-28 12:45:29 +01:00
i915_gem_clflush.c drm/i915: Move GEM object domain management from struct_mutex to local 2019-05-28 12:45:29 +01:00
i915_gem_clflush.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_gem_client_blt.c drm/i915: add in-kernel blitter client 2019-05-30 12:01:44 +01:00
i915_gem_client_blt.h drm/i915: add in-kernel blitter client 2019-05-30 12:01:44 +01:00
i915_gem_context_types.h drm/i915: Move object close under its own lock 2019-06-06 12:51:13 +01:00
i915_gem_context.c drm/i915: Move object close under its own lock 2019-06-06 12:51:13 +01:00
i915_gem_context.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_gem_dmabuf.c drm/i915: Move GEM object domain management from struct_mutex to local 2019-05-28 12:45:29 +01:00
i915_gem_domain.c drm/i915: Report all objects with allocated pages to the shrinker 2019-05-31 21:23:51 +01:00
i915_gem_execbuffer.c drm/i915: Move object close under its own lock 2019-06-06 12:51:13 +01:00
i915_gem_fence.c drm/i915: Move GEM object domain management from struct_mutex to local 2019-05-28 12:45:29 +01:00
i915_gem_internal.c drm/i915: Pull scatterlist utils out of i915_gem.h 2019-05-28 12:45:29 +01:00
i915_gem_ioctls.h
i915_gem_mman.c drm/i915: Move mmap and friends to its own file 2019-05-28 12:45:29 +01:00
i915_gem_object_blt.c drm/i915: add in-kernel blitter client 2019-05-30 12:01:44 +01:00
i915_gem_object_blt.h drm/i915: add in-kernel blitter client 2019-05-30 12:01:44 +01:00
i915_gem_object_types.h drm/i915: Move object close under its own lock 2019-06-06 12:51:13 +01:00
i915_gem_object.c drm/i915: Move object close under its own lock 2019-06-06 12:51:13 +01:00
i915_gem_object.h drm/i915: Drop the deferred active reference 2019-05-28 12:45:29 +01:00
i915_gem_pages.c drm/i915: Report all objects with allocated pages to the shrinker 2019-05-31 21:23:51 +01:00
i915_gem_phys.c drm/i915: Pull scatterlist utils out of i915_gem.h 2019-05-28 12:45:29 +01:00
i915_gem_pm.c drm/i915: Track the purgeable objects on a separate eviction list 2019-05-31 21:23:51 +01:00
i915_gem_pm.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_gem_shmem.c drm/i915: Track the purgeable objects on a separate eviction list 2019-05-31 21:23:51 +01:00
i915_gem_shrinker.c drm/i915: Report all objects with allocated pages to the shrinker 2019-05-31 21:23:51 +01:00
i915_gem_stolen.c drm/i915: Report all objects with allocated pages to the shrinker 2019-05-31 21:23:51 +01:00
i915_gem_throttle.c drm/i915: Move GEM client throttling to its own file 2019-05-28 12:45:29 +01:00
i915_gem_tiling.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_gem_userptr.c drm/i915: Pull scatterlist utils out of i915_gem.h 2019-05-28 12:45:29 +01:00
i915_gem_wait.c drm/i915: Move GEM object waiting to its own file 2019-05-28 12:45:29 +01:00
i915_gemfs.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
i915_gemfs.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
Makefile
Makefile.header-test