linux_dsm_epyc7002/drivers/gpu/drm/i915/selftests
Chris Wilson 65baf0ef04 drm/i915: Hold a ref to the ring while retiring
As the final request on a ring may hold the reference to this ring (via
retiring the last pinned context), we may find ourselves chasing a
dangling pointer on completion of the list.

A quick solution is to hold a reference to the ring itself as we retire
along it so that we only free it after we stop dereferencing it.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190318095204.9913-4-chris@chris-wilson.co.uk
2019-03-18 21:00:28 +00:00
..
huge_gem_object.c drm/i915: Make object/vma allocation caches global 2019-02-28 11:08:02 +00:00
huge_gem_object.h
huge_pages.c drm/i915/gtt: Rename i915_vm_is_48b to i915_vm_is_4lvl 2019-03-15 09:04:54 +00:00
i915_active.c drm/i915: Beware temporary wedging when determining -EIO 2019-02-20 16:31:08 +00:00
i915_gem_coherency.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
i915_gem_context.c drm/i915: Introduce a context barrier callback 2019-03-09 17:19:54 +00:00
i915_gem_dmabuf.c
i915_gem_evict.c drm/i915: Beware temporary wedging when determining -EIO 2019-02-20 16:31:08 +00:00
i915_gem_gtt.c drm/i915: Make object/vma allocation caches global 2019-02-28 11:08:02 +00:00
i915_gem_object.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
i915_gem.c drm/i915: Do a synchronous switch-to-kernel-context on idling 2019-03-08 10:57:05 +00:00
i915_live_selftests.h drm/i915: Generalise GPU activity tracking 2019-02-05 17:12:00 +00:00
i915_mock_selftests.h drm/i915: Replace global breadcrumbs with per-context interrupt tracking 2019-01-29 21:45:22 +00:00
i915_random.c drm/i915: Share per-timeline HWSP using a slab suballocator 2019-01-28 19:07:06 +00:00
i915_random.h drm/i915: Share per-timeline HWSP using a slab suballocator 2019-01-28 19:07:06 +00:00
i915_request.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
i915_selftest.c drm/i915/selftests: Upgrade printing test/subtest name to pr_info 2019-03-06 11:36:36 +00:00
i915_sw_fence.c drm/i915/selftests: Disable preemption while setting up fence-timers 2019-03-14 11:47:06 +00:00
i915_syncmap.c
i915_timeline.c drm/i915: Keep timeline HWSP allocated until idle across the system 2019-03-01 17:40:33 +00:00
i915_vma.c drm/i915/selftests: Move local mock_ggtt allocations to the heap 2019-02-17 21:07:46 +00:00
igt_flush_test.c drm/i915: Reduce presumption of request ordering for barriers 2019-03-08 10:57:08 +00:00
igt_flush_test.h
igt_live_test.c drm/i915: Drop fake breadcrumb irq 2019-01-29 21:45:30 +00:00
igt_live_test.h drm/i915/selftests: Refactor common live_test framework 2019-01-22 13:01:20 +00:00
igt_reset.c drm/i915/selftests: Add tests for GT and engine workaround verification 2018-12-04 12:23:19 +00:00
igt_reset.h drm/i915/selftests: Add tests for GT and engine workaround verification 2018-12-04 12:23:19 +00:00
igt_spinner.c drm/i915: Don't claim an unstarted request was guilty 2019-02-08 16:47:40 +00:00
igt_spinner.h drm/i915/selftests: Extract spinner code 2018-11-30 15:09:00 +00:00
igt_wedge_me.h
intel_engine_cs.c
intel_guc.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
intel_hangcheck.c drm/i915/selftests: Improve error detection of reset failure 2019-03-12 12:49:30 +00:00
intel_lrc.c drm/i915/selftests: Check preemption support on each engine 2019-03-08 09:34:49 +00:00
intel_uncore.c
intel_workarounds.c drm/i915: Store the BIT(engine->id) as the engine's mask 2019-03-05 18:19:50 +00:00
lib_sw_fence.c drm/i915: Replace global breadcrumbs with per-context interrupt tracking 2019-01-29 21:45:22 +00:00
lib_sw_fence.h drm/i915: Replace global breadcrumbs with per-context interrupt tracking 2019-01-29 21:45:22 +00:00
mock_context.c drm/i915: Move over to intel_context_lookup() 2019-03-08 13:59:52 +00:00
mock_context.h
mock_dmabuf.c
mock_dmabuf.h
mock_drm.c
mock_drm.h
mock_engine.c drm/i915: Hold a ref to the ring while retiring 2019-03-18 21:00:28 +00:00
mock_engine.h drm/i915: Replace global breadcrumbs with per-context interrupt tracking 2019-01-29 21:45:22 +00:00
mock_gem_device.c drm/i915: Reduce presumption of request ordering for barriers 2019-03-08 10:57:08 +00:00
mock_gem_device.h
mock_gem_object.h
mock_gtt.c drm/i915/selftests: Create a clean GGTT for vma/gtt selftesting 2019-01-22 12:50:39 +00:00
mock_gtt.h drm/i915/selftests: Create a clean GGTT for vma/gtt selftesting 2019-01-22 12:50:39 +00:00
mock_request.c drm/i915: Make request allocation caches global 2019-02-28 11:07:56 +00:00
mock_request.h drm/i915: Make request allocation caches global 2019-02-28 11:07:56 +00:00
mock_timeline.c drm/i915: Introduce i915_timeline.mutex 2019-03-01 14:54:46 +00:00
mock_timeline.h
mock_uncore.c
mock_uncore.h
scatterlist.c