[Intel-gfx] [PATCH] drm/i915/gt: Drop active.lock around active request read inside execlists

Chris Wilson chris at chris-wilson.co.uk
Wed Jan 27 14:04:35 UTC 2021

As we find the active request for capturing upon a hang, we know that the
lists are stable as we are inside the execlists tasklet, the only path
that can modify those lists. As such, we do not need to disable irqs and
take the active lock for a simple read of the current request.

Suggested-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
 drivers/gpu/drm/i915/gt/intel_execlists_submission.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
index b5f2459cac2c..e20ab2eab3a8 100644
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -2262,13 +2262,11 @@ static void execlists_capture(struct intel_engine_cs *engine)
 	if (!cap)
-	spin_lock_irq(&engine->active.lock);
 	cap->rq = active_context(engine, active_ccid(engine));
 	if (cap->rq) {
 		cap->rq = active_request(cap->rq->context->timeline, cap->rq);
 		cap->rq = i915_request_get_rcu(cap->rq);
-	spin_unlock_irq(&engine->active.lock);
 	if (!cap->rq)
 		goto err_free;

More information about the Intel-gfx mailing list