[Intel-gfx] [PATCH 15/26] drm/i915: Make sure execbuffer always passes ww state to i915_vma_pin.
Thomas Hellström (Intel)
thomas_os at shipmail.org
Thu Jun 25 14:32:17 UTC 2020
Hi, Maarten,
On 6/23/20 4:28 PM, Maarten Lankhorst wrote:
> As a preparation step for full object locking and wait/wound handling
> during pin and object mapping, ensure that we always pass the ww context
> in i915_gem_execbuffer.c to i915_vma_pin, use lockdep to ensure this
> happens.
>
> This also requires changing the order of eb_parse slightly, to ensure
> we pass ww at a point where we could still handle -EDEADLK safely.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 2 +-
> drivers/gpu/drm/i915/gem/i915_gem_context.c | 4 +-
> .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 138 ++++++++++--------
> drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 4 +-
> drivers/gpu/drm/i915/gt/gen6_ppgtt.h | 4 +-
> drivers/gpu/drm/i915/gt/intel_context.c | 65 ++++++---
> drivers/gpu/drm/i915/gt/intel_context.h | 13 ++
> drivers/gpu/drm/i915/gt/intel_context_types.h | 3 +-
> drivers/gpu/drm/i915/gt/intel_engine_cs.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_gt.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_lrc.c | 5 +-
> drivers/gpu/drm/i915/gt/intel_renderstate.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_ring.c | 10 +-
> drivers/gpu/drm/i915/gt/intel_ring.h | 3 +-
> .../gpu/drm/i915/gt/intel_ring_submission.c | 15 +-
> drivers/gpu/drm/i915/gt/intel_timeline.c | 12 +-
> drivers/gpu/drm/i915/gt/intel_timeline.h | 3 +-
> drivers/gpu/drm/i915/gt/mock_engine.c | 3 +-
> drivers/gpu/drm/i915/gt/selftest_lrc.c | 2 +-
> drivers/gpu/drm/i915/gt/selftest_timeline.c | 4 +-
> drivers/gpu/drm/i915/gt/uc/intel_guc.c | 2 +-
> drivers/gpu/drm/i915/i915_drv.h | 13 +-
> drivers/gpu/drm/i915/i915_gem.c | 11 +-
> drivers/gpu/drm/i915/i915_vma.c | 13 +-
> drivers/gpu/drm/i915/i915_vma.h | 13 +-
> 25 files changed, 214 insertions(+), 134 deletions(-)
>
From a quick bisect, it appears this patch is what's causing the
contention in execbuf,
./gem_exec_alignment --run-subtest pi-isolated
/Thomas
More information about the Intel-gfx
mailing list