[Intel-gfx] [RFC 25/37] drm/i915/sched: include scheduler state in error capture
John.C.Harrison at Intel.com
John.C.Harrison at Intel.com
Mon Nov 23 03:42:00 PST 2015
From: Dave Gordon <david.s.gordon at intel.com>
For: VIZ-2021
Signed-off-by: Dave Gordon <david.s.gordon at intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_gpu_error.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 9bece1e..06dff5a 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -584,6 +584,7 @@ struct drm_i915_error_state {
u32 tail;
u32 submission_count;
u64 ringbuffer_gtt;
+ char scheduler_state;
} *requests;
struct {
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
index 346c831..2d9dd3f 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -614,10 +614,12 @@ int i915_error_state_to_str(struct drm_i915_error_state_buf *m,
err_printf(m, " seqno 0x%08x, ringbuf 0x%llx "
"head 0x%08x tail 0x%08x, "
"emitted %ld, %d submissions, "
+ "sched %c "
"ctx_desc 0x%08x_%08x\n",
erq->seqno, erq->ringbuffer_gtt,
erq->head, erq->tail,
erq->jiffies, erq->submission_count,
+ erq->scheduler_state,
upper_32_bits(erq->ctx_desc),
lower_32_bits(erq->ctx_desc));
}
@@ -1296,6 +1298,7 @@ static void i915_gem_record_rings(struct drm_device *dev,
count = 0;
list_for_each_entry(request, &ring->request_list, list) {
+ struct i915_scheduler_queue_entry *sqe = request->scheduler_qe;
struct intel_context *ctx = request->ctx;
struct drm_i915_error_request *erq;
@@ -1326,6 +1329,8 @@ static void i915_gem_record_rings(struct drm_device *dev,
erq->head = request->head;
erq->submission_count = request->elsp_submitted;
erq->ringbuffer_gtt = i915_gem_obj_ggtt_offset(request->ringbuf->obj);
+ erq->scheduler_state = !sqe ? 'u' :
+ i915_scheduler_queue_status_chr(sqe->status);
}
}
}
--
1.9.1
More information about the Intel-gfx
mailing list