linux/drivers/gpu/drm/i915/gem
Chris Wilson 7ce596a803 drm/i915/gem: Take timeline->mutex to walk list-of-requests
Though the context is closed and so no more requests can be added to the
timeline, retirement can still be removing requests. It can even be
removing the very request we are inspecting and so cause us to wander
into dead links.

Serialise with the retirement by taking the timeline->mutex used for
guarding the timeline->requests list.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=112404
Fixes: 4a31741521 ("drm/i915/gem: Refine occupancy test in kill_context()")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191129151845.1092933-1-chris@chris-wilson.co.uk
2019-11-29 20:09:14 +00:00
..
selftests drm/i915/selftests: Use sgt_iter for huge_pages_free 2019-11-29 14:23:53 +00:00
i915_gem_busy.c dma-buf: Restore seqlock around dma_resv updates 2019-08-16 12:40:58 +01:00
i915_gem_clflush.c drm/i915: Generalise the clflush dma-worker 2019-08-22 08:27:44 +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: Drop struct_mutex from around i915_retire_requests() 2019-10-04 15:39:17 +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/gem: Excise the per-batch whitelist from the context 2019-11-28 11:39:50 +00:00
i915_gem_context.c drm/i915/gem: Take timeline->mutex to walk list-of-requests 2019-11-29 20:09:14 +00:00
i915_gem_context.h drm/i915/gem: Make context persistence optional 2019-10-29 21:02:52 +00:00
i915_gem_dmabuf.c drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_domain.c drm/i915/gem: Track ggtt writes from userspace on the bound vma 2019-11-19 15:12:46 +00:00
i915_gem_execbuffer.c Revert "drm/i915: use a separate context for gpu relocs" 2019-11-29 14:23:53 +00:00
i915_gem_fence.c Merge drm/drm-next into drm-intel-next-queued 2019-08-22 00:10:36 -07:00
i915_gem_internal.c drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_ioctls.h
i915_gem_lmem.c drm/i915/lmem: add the fake lmem region 2019-10-31 20:41:47 +00:00
i915_gem_lmem.h drm/i915/lmem: support kernel mapping 2019-10-25 22:55:43 +01:00
i915_gem_mman.c drm/i915/gem: Early rejection of no-aperture map_ggtt 2019-11-06 12:09:44 +00:00
i915_gem_object_blt.c drm/i915/blt: fixup block_size rounding 2019-10-29 06:57:20 +00:00
i915_gem_object_blt.h drm/i915/blt: support copying objects 2019-08-10 19:35:36 +01:00
i915_gem_object_types.h drm/i915: Switch obj->mm.lock lockdep annotations on its head 2019-11-07 09:58:11 +01:00
i915_gem_object.c drm/i915/gem: Protect the obj->vma.list during iteration 2019-11-19 15:12:47 +00:00
i915_gem_object.h drm/i915: use might_lock_nested in get_pages annotation 2019-11-07 09:58:54 +01:00
i915_gem_pages.c drm/i915: Switch obj->mm.lock lockdep annotations on its head 2019-11-07 09:58:11 +01:00
i915_gem_phys.c drm/i915: Switch obj->mm.lock lockdep annotations on its head 2019-11-07 09:58:11 +01:00
i915_gem_pm.c drm/i915: Defer rc6 shutdown to suspend_late 2019-11-05 16:05:42 +02:00
i915_gem_pm.h drm/i915: Teach record_defaults to operate on the intel_gt 2019-10-22 20:43:07 +01:00
i915_gem_region.c drm/i915: treat shmem as a region 2019-10-18 12:41:03 +01:00
i915_gem_region.h drm/i915/region: support contiguous allocations 2019-10-08 20:50:01 +01:00
i915_gem_shmem.c drm/i915/gem: Distinguish each object type 2019-10-22 16:23:32 +01:00
i915_gem_shrinker.c drm/i915: Switch obj->mm.lock lockdep annotations on its head 2019-11-07 09:58:11 +01:00
i915_gem_shrinker.h drm/i915: extract i915_gem_shrinker.h from i915_drv.h 2019-08-09 12:03:32 +03:00
i915_gem_stolen.c drm/i915/gem: Pass mem region to preallocated stolen 2019-11-11 19:22:18 +00:00
i915_gem_stolen.h drm/i915: treat stolen as a region 2019-10-18 12:41:05 +01:00
i915_gem_throttle.c drm/i915: Keep drm_i915_file_private around under RCU 2019-08-23 22:13:17 +01:00
i915_gem_tiling.c drm/i915: Move swizzle_bit under i915_ggtt 2019-10-16 19:42:19 +01:00
i915_gem_userptr.c drm/i915/userptr: Try to acquire the page lock around set_page_dirty() 2019-11-12 10:22:58 +02:00
i915_gem_wait.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
i915_gemfs.c drm/i915: Stop reconfiguring our shmemfs mountpoint 2019-08-09 20:18:30 +01:00
i915_gemfs.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
Makefile drm/i915: use upstream version of header tests 2019-07-30 12:11:57 +03:00