Re: [PATCH] drm/i915: Tidy up GEM_TRACE around execlists

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 20/12/2017 09:06, Chris Wilson wrote:
Looking at the coordination of resets with the submission of execlists,
it will be useful to have a GEM_TRACE for when we issue the reset.
Whilst there tidy up the other GEM_TRACE to always include the engine
name, and be careful not to trust any pointers prior to asserts.

Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx>
Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx>
Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
---
  drivers/gpu/drm/i915/intel_lrc.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 6205d320b86f..84029806cf3f 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -504,7 +504,7 @@ static void inject_preempt_context(struct intel_engine_cs *engine)
  	ce->ring->tail &= (ce->ring->size - 1);
  	ce->lrc_reg_state[CTX_RING_TAIL+1] = ce->ring->tail;
- GEM_TRACE("\n");
+	GEM_TRACE("%s\n", engine->name);
  	for (n = execlists_num_ports(&engine->execlists); --n; )
  		elsp_write(0, engine->execlists.elsp);
@@ -906,7 +906,7 @@ static void execlists_submission_tasklet(unsigned long data)
  			GEM_TRACE("%s out[0]: ctx=%d.%d, seqno=%x\n",
  				  engine->name,
  				  port->context_id, count,
-				  rq->global_seqno);
+				  rq ? rq->global_seqno : 0);

rq can be NULL here? What's with the --count below then, wouldn't it underflow since I assume rq == NULL means count == 0 as well?

  			GEM_BUG_ON(count == 0);
  			if (--count == 0) {
  				GEM_BUG_ON(status & GEN8_CTX_STATUS_PREEMPTED);
@@ -1555,6 +1555,8 @@ static void reset_common_ring(struct intel_engine_cs *engine,
  	struct intel_context *ce;
  	unsigned long flags;
+ GEM_TRACE("%s: seqno=%x\n",
+		  engine->name, request ? request->global_seqno : 0);

This one is legit.

  	spin_lock_irqsave(&engine->timeline->lock, flags);
/*


Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux