All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs
@ 2018-05-25  8:26 Tvrtko Ursulin
  2018-05-25  8:26 ` [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich Tvrtko Ursulin
                   ` (7 more replies)
  0 siblings, 8 replies; 19+ messages in thread
From: Tvrtko Ursulin @ 2018-05-25  8:26 UTC (permalink / raw)
  To: Intel-gfx

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Instead of using the engine->id, use uabi_class:instance pairs in trace-
points including engine info.

This will be more readable, more future proof and more stable for
userspace consumption.

v2:
 * Use u16 for class and instance. (Chris Wilson)

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: svetlana.kukanova@intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_trace.h | 107 ++++++++++++++++++------------
 1 file changed, 65 insertions(+), 42 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
index 5d4f78765083..7acea4052798 100644
--- a/drivers/gpu/drm/i915/i915_trace.h
+++ b/drivers/gpu/drm/i915/i915_trace.h
@@ -591,21 +591,26 @@ TRACE_EVENT(i915_gem_ring_sync_to,
 
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
-			     __field(u32, sync_from)
-			     __field(u32, sync_to)
+			     __field(u32, from_class)
+			     __field(u32, from_instance)
+			     __field(u32, to_class)
+			     __field(u32, to_instance)
 			     __field(u32, seqno)
 			     ),
 
 	    TP_fast_assign(
 			   __entry->dev = from->i915->drm.primary->index;
-			   __entry->sync_from = from->engine->id;
-			   __entry->sync_to = to->engine->id;
+			   __entry->from_class = from->engine->uabi_class;
+			   __entry->from_instance = from->engine->instance;
+			   __entry->to_class = to->engine->uabi_class;
+			   __entry->to_instance = to->engine->instance;
 			   __entry->seqno = from->global_seqno;
 			   ),
 
-	    TP_printk("dev=%u, sync-from=%u, sync-to=%u, seqno=%u",
+	    TP_printk("dev=%u, sync-from=%u:%u, sync-to=%u:%u, seqno=%u",
 		      __entry->dev,
-		      __entry->sync_from, __entry->sync_to,
+		      __entry->from_class, __entry->from_instance,
+		      __entry->to_class, __entry->to_instance,
 		      __entry->seqno)
 );
 
@@ -616,7 +621,8 @@ TRACE_EVENT(i915_request_queue,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
-			     __field(u32, ring)
+			     __field(u16, class)
+			     __field(u16, instance)
 			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, flags)
@@ -625,15 +631,17 @@ TRACE_EVENT(i915_request_queue,
 	    TP_fast_assign(
 			   __entry->dev = rq->i915->drm.primary->index;
 			   __entry->hw_id = rq->gem_context->hw_id;
-			   __entry->ring = rq->engine->id;
+			   __entry->class = rq->engine->uabi_class;
+			   __entry->instance = rq->engine->instance;
 			   __entry->ctx = rq->fence.context;
 			   __entry->seqno = rq->fence.seqno;
 			   __entry->flags = flags;
 			   ),
 
-	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, flags=0x%x",
-		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
-		      __entry->seqno, __entry->flags)
+	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, flags=0x%x",
+		      __entry->dev, __entry->hw_id, __entry->class,
+		      __entry->instance, __entry->ctx, __entry->seqno,
+		      __entry->flags)
 );
 
 DECLARE_EVENT_CLASS(i915_request,
@@ -643,7 +651,8 @@ DECLARE_EVENT_CLASS(i915_request,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
-			     __field(u32, ring)
+			     __field(u16, class)
+			     __field(u16, instance)
 			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global)
@@ -652,15 +661,17 @@ DECLARE_EVENT_CLASS(i915_request,
 	    TP_fast_assign(
 			   __entry->dev = rq->i915->drm.primary->index;
 			   __entry->hw_id = rq->gem_context->hw_id;
-			   __entry->ring = rq->engine->id;
+			   __entry->class = rq->engine->uabi_class;
+			   __entry->instance = rq->engine->instance;
 			   __entry->ctx = rq->fence.context;
 			   __entry->seqno = rq->fence.seqno;
 			   __entry->global = rq->global_seqno;
 			   ),
 
-	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u",
-		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
-		      __entry->seqno, __entry->global)
+	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u",
+		      __entry->dev, __entry->hw_id, __entry->class,
+		      __entry->instance, __entry->ctx, __entry->seqno,
+		      __entry->global)
 );
 
 DEFINE_EVENT(i915_request, i915_request_add,
@@ -686,7 +697,8 @@ TRACE_EVENT(i915_request_in,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
-			     __field(u32, ring)
+			     __field(u16, class)
+			     __field(u16, instance)
 			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global_seqno)
@@ -697,7 +709,8 @@ TRACE_EVENT(i915_request_in,
 	    TP_fast_assign(
 			   __entry->dev = rq->i915->drm.primary->index;
 			   __entry->hw_id = rq->gem_context->hw_id;
-			   __entry->ring = rq->engine->id;
+			   __entry->class = rq->engine->uabi_class;
+			   __entry->instance = rq->engine->instance;
 			   __entry->ctx = rq->fence.context;
 			   __entry->seqno = rq->fence.seqno;
 			   __entry->global_seqno = rq->global_seqno;
@@ -705,10 +718,10 @@ TRACE_EVENT(i915_request_in,
 			   __entry->port = port;
 			   ),
 
-	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
-		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
-		      __entry->seqno, __entry->prio, __entry->global_seqno,
-		      __entry->port)
+	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
+		      __entry->dev, __entry->hw_id, __entry->class,
+		      __entry->instance, __entry->ctx, __entry->seqno,
+		      __entry->prio, __entry->global_seqno, __entry->port)
 );
 
 TRACE_EVENT(i915_request_out,
@@ -718,7 +731,8 @@ TRACE_EVENT(i915_request_out,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
-			     __field(u32, ring)
+			     __field(u16, class)
+			     __field(u16, instance)
 			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global_seqno)
@@ -728,16 +742,17 @@ TRACE_EVENT(i915_request_out,
 	    TP_fast_assign(
 			   __entry->dev = rq->i915->drm.primary->index;
 			   __entry->hw_id = rq->gem_context->hw_id;
-			   __entry->ring = rq->engine->id;
+			   __entry->class = rq->engine->uabi_class;
+			   __entry->instance = rq->engine->instance;
 			   __entry->ctx = rq->fence.context;
 			   __entry->seqno = rq->fence.seqno;
 			   __entry->global_seqno = rq->global_seqno;
 			   __entry->completed = i915_request_completed(rq);
 			   ),
 
-		    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
-			      __entry->dev, __entry->hw_id, __entry->ring,
-			      __entry->ctx, __entry->seqno,
+		    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
+			      __entry->dev, __entry->hw_id, __entry->class,
+			      __entry->instance, __entry->ctx, __entry->seqno,
 			      __entry->global_seqno, __entry->completed)
 );
 
@@ -771,21 +786,23 @@ TRACE_EVENT(intel_engine_notify,
 
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
-			     __field(u32, ring)
+			     __field(u16, class)
+			     __field(u16, instance)
 			     __field(u32, seqno)
 			     __field(bool, waiters)
 			     ),
 
 	    TP_fast_assign(
 			   __entry->dev = engine->i915->drm.primary->index;
-			   __entry->ring = engine->id;
+			   __entry->class = engine->uabi_class;
+			   __entry->instance = engine->instance;
 			   __entry->seqno = intel_engine_get_seqno(engine);
 			   __entry->waiters = waiters;
 			   ),
 
-	    TP_printk("dev=%u, ring=%u, seqno=%u, waiters=%u",
-		      __entry->dev, __entry->ring, __entry->seqno,
-		      __entry->waiters)
+	    TP_printk("dev=%u, engine=%u:%u, seqno=%u, waiters=%u",
+		      __entry->dev, __entry->class, __entry->instance,
+		      __entry->seqno, __entry->waiters)
 );
 
 DEFINE_EVENT(i915_request, i915_request_retire,
@@ -800,7 +817,8 @@ TRACE_EVENT(i915_request_wait_begin,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
-			     __field(u32, ring)
+			     __field(u16, class)
+			     __field(u16, instance)
 			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global)
@@ -816,17 +834,19 @@ TRACE_EVENT(i915_request_wait_begin,
 	    TP_fast_assign(
 			   __entry->dev = rq->i915->drm.primary->index;
 			   __entry->hw_id = rq->gem_context->hw_id;
-			   __entry->ring = rq->engine->id;
+			   __entry->class = rq->engine->uabi_class;
+			   __entry->instance = rq->engine->instance;
 			   __entry->ctx = rq->fence.context;
 			   __entry->seqno = rq->fence.seqno;
 			   __entry->global = rq->global_seqno;
 			   __entry->flags = flags;
 			   ),
 
-	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
-		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
-		      __entry->seqno, __entry->global,
-		      !!(__entry->flags & I915_WAIT_LOCKED), __entry->flags)
+	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
+		      __entry->dev, __entry->hw_id, __entry->class,
+		      __entry->instance, __entry->ctx, __entry->seqno,
+		      __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
+		      __entry->flags)
 );
 
 DEFINE_EVENT(i915_request, i915_request_wait_end,
@@ -966,21 +986,24 @@ TRACE_EVENT(switch_mm,
 	TP_ARGS(engine, to),
 
 	TP_STRUCT__entry(
-			__field(u32, ring)
+			__field(u16, class)
+			__field(u16, instance)
 			__field(struct i915_gem_context *, to)
 			__field(struct i915_address_space *, vm)
 			__field(u32, dev)
 	),
 
 	TP_fast_assign(
-			__entry->ring = engine->id;
+			__entry->class = engine->uabi_class;
+			__entry->instance = engine->instance;
 			__entry->to = to;
 			__entry->vm = to->ppgtt? &to->ppgtt->base : NULL;
 			__entry->dev = engine->i915->drm.primary->index;
 	),
 
-	TP_printk("dev=%u, ring=%u, ctx=%p, ctx_vm=%p",
-		  __entry->dev, __entry->ring, __entry->to, __entry->vm)
+	TP_printk("dev=%u, engine=%u:%u, ctx=%p, ctx_vm=%p",
+		  __entry->dev, __entry->class, __entry->instance, __entry->to,
+		  __entry->vm)
 );
 
 #endif /* _I915_TRACE_H_ */
-- 
2.17.0

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

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich
  2018-05-25  8:26 [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Tvrtko Ursulin
@ 2018-05-25  8:26 ` Tvrtko Ursulin
  2018-05-25 10:28   ` Lionel Landwerlin
  2018-05-25  8:26 ` [PATCH 3/3] drm/i915/trace: Context field needs to be 64-bit wide Tvrtko Ursulin
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 19+ messages in thread
From: Tvrtko Ursulin @ 2018-05-25  8:26 UTC (permalink / raw)
  To: Intel-gfx

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

In the string tracepoint representation we ended up with the engine
sandwiched between context hardware id and context fence id.

Move the two pieces of context data together for redability.

Binary records are left as is, that is both fields remaing under the
existing name and ordering.

v2:
 * Do not consolidate the printk format, just reorder. (Lionel)

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
---
 drivers/gpu/drm/i915/i915_trace.h | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
index 7acea4052798..bac582ed3a0b 100644
--- a/drivers/gpu/drm/i915/i915_trace.h
+++ b/drivers/gpu/drm/i915/i915_trace.h
@@ -638,9 +638,9 @@ TRACE_EVENT(i915_request_queue,
 			   __entry->flags = flags;
 			   ),
 
-	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, flags=0x%x",
-		      __entry->dev, __entry->hw_id, __entry->class,
-		      __entry->instance, __entry->ctx, __entry->seqno,
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, flags=0x%x",
+		      __entry->dev, __entry->class, __entry->instance,
+		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->flags)
 );
 
@@ -668,9 +668,9 @@ DECLARE_EVENT_CLASS(i915_request,
 			   __entry->global = rq->global_seqno;
 			   ),
 
-	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u",
-		      __entry->dev, __entry->hw_id, __entry->class,
-		      __entry->instance, __entry->ctx, __entry->seqno,
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u",
+		      __entry->dev, __entry->class, __entry->instance,
+		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->global)
 );
 
@@ -718,9 +718,9 @@ TRACE_EVENT(i915_request_in,
 			   __entry->port = port;
 			   ),
 
-	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
-		      __entry->dev, __entry->hw_id, __entry->class,
-		      __entry->instance, __entry->ctx, __entry->seqno,
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
+		      __entry->dev, __entry->class, __entry->instance,
+		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->prio, __entry->global_seqno, __entry->port)
 );
 
@@ -750,9 +750,9 @@ TRACE_EVENT(i915_request_out,
 			   __entry->completed = i915_request_completed(rq);
 			   ),
 
-		    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
-			      __entry->dev, __entry->hw_id, __entry->class,
-			      __entry->instance, __entry->ctx, __entry->seqno,
+		    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
+			      __entry->dev, __entry->class, __entry->instance,
+			      __entry->hw_id, __entry->ctx, __entry->seqno,
 			      __entry->global_seqno, __entry->completed)
 );
 
@@ -842,9 +842,9 @@ TRACE_EVENT(i915_request_wait_begin,
 			   __entry->flags = flags;
 			   ),
 
-	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
-		      __entry->dev, __entry->hw_id, __entry->class,
-		      __entry->instance, __entry->ctx, __entry->seqno,
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
+		      __entry->dev, __entry->class, __entry->instance,
+		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
 		      __entry->flags)
 );
-- 
2.17.0

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

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 3/3] drm/i915/trace: Context field needs to be 64-bit wide
  2018-05-25  8:26 [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Tvrtko Ursulin
  2018-05-25  8:26 ` [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich Tvrtko Ursulin
@ 2018-05-25  8:26 ` Tvrtko Ursulin
  2018-05-25  8:50   ` Chris Wilson
  2018-05-25  9:10 ` ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs Patchwork
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 19+ messages in thread
From: Tvrtko Ursulin @ 2018-05-25  8:26 UTC (permalink / raw)
  To: Intel-gfx

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Underlaying field is u64 so the tracepoint needs to be as well.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_trace.h | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
index bac582ed3a0b..009862261218 100644
--- a/drivers/gpu/drm/i915/i915_trace.h
+++ b/drivers/gpu/drm/i915/i915_trace.h
@@ -623,7 +623,7 @@ TRACE_EVENT(i915_request_queue,
 			     __field(u32, hw_id)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
+			     __field(u64, ctx)
 			     __field(u32, seqno)
 			     __field(u32, flags)
 			     ),
@@ -638,7 +638,7 @@ TRACE_EVENT(i915_request_queue,
 			   __entry->flags = flags;
 			   ),
 
-	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, flags=0x%x",
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, flags=0x%x",
 		      __entry->dev, __entry->class, __entry->instance,
 		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->flags)
@@ -653,7 +653,7 @@ DECLARE_EVENT_CLASS(i915_request,
 			     __field(u32, hw_id)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
+			     __field(u64, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global)
 			     ),
@@ -668,7 +668,7 @@ DECLARE_EVENT_CLASS(i915_request,
 			   __entry->global = rq->global_seqno;
 			   ),
 
-	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u",
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, global=%u",
 		      __entry->dev, __entry->class, __entry->instance,
 		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->global)
@@ -699,7 +699,7 @@ TRACE_EVENT(i915_request_in,
 			     __field(u32, hw_id)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
+			     __field(u64, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global_seqno)
 			     __field(u32, port)
@@ -718,7 +718,7 @@ TRACE_EVENT(i915_request_in,
 			   __entry->port = port;
 			   ),
 
-	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, prio=%u, global=%u, port=%u",
 		      __entry->dev, __entry->class, __entry->instance,
 		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->prio, __entry->global_seqno, __entry->port)
@@ -733,7 +733,7 @@ TRACE_EVENT(i915_request_out,
 			     __field(u32, hw_id)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
+			     __field(u64, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global_seqno)
 			     __field(u32, completed)
@@ -750,7 +750,7 @@ TRACE_EVENT(i915_request_out,
 			   __entry->completed = i915_request_completed(rq);
 			   ),
 
-		    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
+		    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, global=%u, completed?=%u",
 			      __entry->dev, __entry->class, __entry->instance,
 			      __entry->hw_id, __entry->ctx, __entry->seqno,
 			      __entry->global_seqno, __entry->completed)
@@ -819,7 +819,7 @@ TRACE_EVENT(i915_request_wait_begin,
 			     __field(u32, hw_id)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
+			     __field(u64, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global)
 			     __field(unsigned int, flags)
@@ -842,7 +842,7 @@ TRACE_EVENT(i915_request_wait_begin,
 			   __entry->flags = flags;
 			   ),
 
-	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, global=%u, blocking=%u, flags=0x%x",
 		      __entry->dev, __entry->class, __entry->instance,
 		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
-- 
2.17.0

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

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 3/3] drm/i915/trace: Context field needs to be 64-bit wide
  2018-05-25  8:26 ` [PATCH 3/3] drm/i915/trace: Context field needs to be 64-bit wide Tvrtko Ursulin
@ 2018-05-25  8:50   ` Chris Wilson
  2018-06-05 13:41     ` [PATCH v2 " Tvrtko Ursulin
  0 siblings, 1 reply; 19+ messages in thread
From: Chris Wilson @ 2018-05-25  8:50 UTC (permalink / raw)
  To: Tvrtko Ursulin, Intel-gfx

Quoting Tvrtko Ursulin (2018-05-25 09:26:42)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Underlaying field is u64 so the tracepoint needs to be as well.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/i915_trace.h | 20 ++++++++++----------
>  1 file changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
> index bac582ed3a0b..009862261218 100644
> --- a/drivers/gpu/drm/i915/i915_trace.h
> +++ b/drivers/gpu/drm/i915/i915_trace.h
> @@ -623,7 +623,7 @@ TRACE_EVENT(i915_request_queue,
>                              __field(u32, hw_id)
>                              __field(u16, class)
>                              __field(u16, instance)
> -                            __field(u32, ctx)
> +                            __field(u64, ctx)

Hmm, we have a hole before the u64 if my counting is correct.

Hmm, hw_id is more related to the global seqno wouldn't you say? :)
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs
  2018-05-25  8:26 [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Tvrtko Ursulin
  2018-05-25  8:26 ` [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich Tvrtko Ursulin
  2018-05-25  8:26 ` [PATCH 3/3] drm/i915/trace: Context field needs to be 64-bit wide Tvrtko Ursulin
@ 2018-05-25  9:10 ` Patchwork
  2018-05-25 10:22 ` [PATCH 1/3] " Lionel Landwerlin
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2018-05-25  9:10 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs
URL   : https://patchwork.freedesktop.org/series/43763/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4238 -> Patchwork_9117 =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_9117 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_9117, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/43763/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_9117:

  === IGT changes ===

    ==== Warnings ====

    igt@gem_exec_gttfill@basic:
      fi-pnv-d510:        PASS -> SKIP

    
== Known issues ==

  Here are the changes found in Patchwork_9117 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_suspend@basic-s4-devices:
      fi-kbl-7500u:       PASS -> DMESG-WARN (fdo#105128)

    igt@kms_flip@basic-flip-vs-wf_vblank:
      fi-cfl-s3:          PASS -> FAIL (fdo#103928, fdo#100368)

    igt@kms_frontbuffer_tracking@basic:
      fi-hsw-peppy:       PASS -> DMESG-FAIL (fdo#102614, fdo#106103)

    igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence:
      fi-cfl-s3:          PASS -> FAIL (fdo#103481)

    
    ==== Possible fixes ====

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-snb-2520m:       INCOMPLETE (fdo#103713) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
  fdo#103481 https://bugs.freedesktop.org/show_bug.cgi?id=103481
  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
  fdo#103928 https://bugs.freedesktop.org/show_bug.cgi?id=103928
  fdo#105128 https://bugs.freedesktop.org/show_bug.cgi?id=105128
  fdo#106103 https://bugs.freedesktop.org/show_bug.cgi?id=106103


== Participating hosts (44 -> 39) ==

  Missing    (5): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan fi-skl-6700hq 


== Build changes ==

    * Linux: CI_DRM_4238 -> Patchwork_9117

  CI_DRM_4238: 2771a5e6347eb63e43fdfc432a9f15ffb55ef209 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4498: f9ecb79ad8b02278cfdb5b82495df47061c04f8f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9117: c4abefa00271bb29045a20fee8839cef5bbd0fe2 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

c4abefa00271 drm/i915/trace: Context field needs to be 64-bit wide
de0692971fb8 drm/i915/trace: Remove engine out of the context sandwich
bed2821f32e0 drm/i915/trace: Describe engines as class:instance pairs

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_9117/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs
  2018-05-25  8:26 [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Tvrtko Ursulin
                   ` (2 preceding siblings ...)
  2018-05-25  9:10 ` ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs Patchwork
@ 2018-05-25 10:22 ` Lionel Landwerlin
  2018-05-25 12:56 ` ✓ Fi.CI.IGT: success for series starting with [1/3] " Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: Lionel Landwerlin @ 2018-05-25 10:22 UTC (permalink / raw)
  To: Tvrtko Ursulin, Intel-gfx

On 25/05/18 09:26, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> Instead of using the engine->id, use uabi_class:instance pairs in trace-
> points including engine info.
>
> This will be more readable, more future proof and more stable for
> userspace consumption.
>
> v2:
>   * Use u16 for class and instance. (Chris Wilson)
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: svetlana.kukanova@intel.com
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>

> ---
>   drivers/gpu/drm/i915/i915_trace.h | 107 ++++++++++++++++++------------
>   1 file changed, 65 insertions(+), 42 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
> index 5d4f78765083..7acea4052798 100644
> --- a/drivers/gpu/drm/i915/i915_trace.h
> +++ b/drivers/gpu/drm/i915/i915_trace.h
> @@ -591,21 +591,26 @@ TRACE_EVENT(i915_gem_ring_sync_to,
>   
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
> -			     __field(u32, sync_from)
> -			     __field(u32, sync_to)
> +			     __field(u32, from_class)
> +			     __field(u32, from_instance)
> +			     __field(u32, to_class)
> +			     __field(u32, to_instance)
>   			     __field(u32, seqno)
>   			     ),
>   
>   	    TP_fast_assign(
>   			   __entry->dev = from->i915->drm.primary->index;
> -			   __entry->sync_from = from->engine->id;
> -			   __entry->sync_to = to->engine->id;
> +			   __entry->from_class = from->engine->uabi_class;
> +			   __entry->from_instance = from->engine->instance;
> +			   __entry->to_class = to->engine->uabi_class;
> +			   __entry->to_instance = to->engine->instance;
>   			   __entry->seqno = from->global_seqno;
>   			   ),
>   
> -	    TP_printk("dev=%u, sync-from=%u, sync-to=%u, seqno=%u",
> +	    TP_printk("dev=%u, sync-from=%u:%u, sync-to=%u:%u, seqno=%u",
>   		      __entry->dev,
> -		      __entry->sync_from, __entry->sync_to,
> +		      __entry->from_class, __entry->from_instance,
> +		      __entry->to_class, __entry->to_instance,
>   		      __entry->seqno)
>   );
>   
> @@ -616,7 +621,8 @@ TRACE_EVENT(i915_request_queue,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, flags)
> @@ -625,15 +631,17 @@ TRACE_EVENT(i915_request_queue,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->flags = flags;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, flags=0x%x",
> -		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
> -		      __entry->seqno, __entry->flags)
> +	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, flags=0x%x",
> +		      __entry->dev, __entry->hw_id, __entry->class,
> +		      __entry->instance, __entry->ctx, __entry->seqno,
> +		      __entry->flags)
>   );
>   
>   DECLARE_EVENT_CLASS(i915_request,
> @@ -643,7 +651,8 @@ DECLARE_EVENT_CLASS(i915_request,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, global)
> @@ -652,15 +661,17 @@ DECLARE_EVENT_CLASS(i915_request,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->global = rq->global_seqno;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u",
> -		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
> -		      __entry->seqno, __entry->global)
> +	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u",
> +		      __entry->dev, __entry->hw_id, __entry->class,
> +		      __entry->instance, __entry->ctx, __entry->seqno,
> +		      __entry->global)
>   );
>   
>   DEFINE_EVENT(i915_request, i915_request_add,
> @@ -686,7 +697,8 @@ TRACE_EVENT(i915_request_in,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, global_seqno)
> @@ -697,7 +709,8 @@ TRACE_EVENT(i915_request_in,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->global_seqno = rq->global_seqno;
> @@ -705,10 +718,10 @@ TRACE_EVENT(i915_request_in,
>   			   __entry->port = port;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
> -		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
> -		      __entry->seqno, __entry->prio, __entry->global_seqno,
> -		      __entry->port)
> +	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
> +		      __entry->dev, __entry->hw_id, __entry->class,
> +		      __entry->instance, __entry->ctx, __entry->seqno,
> +		      __entry->prio, __entry->global_seqno, __entry->port)
>   );
>   
>   TRACE_EVENT(i915_request_out,
> @@ -718,7 +731,8 @@ TRACE_EVENT(i915_request_out,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, global_seqno)
> @@ -728,16 +742,17 @@ TRACE_EVENT(i915_request_out,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->global_seqno = rq->global_seqno;
>   			   __entry->completed = i915_request_completed(rq);
>   			   ),
>   
> -		    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
> -			      __entry->dev, __entry->hw_id, __entry->ring,
> -			      __entry->ctx, __entry->seqno,
> +		    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
> +			      __entry->dev, __entry->hw_id, __entry->class,
> +			      __entry->instance, __entry->ctx, __entry->seqno,
>   			      __entry->global_seqno, __entry->completed)
>   );
>   
> @@ -771,21 +786,23 @@ TRACE_EVENT(intel_engine_notify,
>   
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, seqno)
>   			     __field(bool, waiters)
>   			     ),
>   
>   	    TP_fast_assign(
>   			   __entry->dev = engine->i915->drm.primary->index;
> -			   __entry->ring = engine->id;
> +			   __entry->class = engine->uabi_class;
> +			   __entry->instance = engine->instance;
>   			   __entry->seqno = intel_engine_get_seqno(engine);
>   			   __entry->waiters = waiters;
>   			   ),
>   
> -	    TP_printk("dev=%u, ring=%u, seqno=%u, waiters=%u",
> -		      __entry->dev, __entry->ring, __entry->seqno,
> -		      __entry->waiters)
> +	    TP_printk("dev=%u, engine=%u:%u, seqno=%u, waiters=%u",
> +		      __entry->dev, __entry->class, __entry->instance,
> +		      __entry->seqno, __entry->waiters)
>   );
>   
>   DEFINE_EVENT(i915_request, i915_request_retire,
> @@ -800,7 +817,8 @@ TRACE_EVENT(i915_request_wait_begin,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, global)
> @@ -816,17 +834,19 @@ TRACE_EVENT(i915_request_wait_begin,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->global = rq->global_seqno;
>   			   __entry->flags = flags;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
> -		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
> -		      __entry->seqno, __entry->global,
> -		      !!(__entry->flags & I915_WAIT_LOCKED), __entry->flags)
> +	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
> +		      __entry->dev, __entry->hw_id, __entry->class,
> +		      __entry->instance, __entry->ctx, __entry->seqno,
> +		      __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
> +		      __entry->flags)
>   );
>   
>   DEFINE_EVENT(i915_request, i915_request_wait_end,
> @@ -966,21 +986,24 @@ TRACE_EVENT(switch_mm,
>   	TP_ARGS(engine, to),
>   
>   	TP_STRUCT__entry(
> -			__field(u32, ring)
> +			__field(u16, class)
> +			__field(u16, instance)
>   			__field(struct i915_gem_context *, to)
>   			__field(struct i915_address_space *, vm)
>   			__field(u32, dev)
>   	),
>   
>   	TP_fast_assign(
> -			__entry->ring = engine->id;
> +			__entry->class = engine->uabi_class;
> +			__entry->instance = engine->instance;
>   			__entry->to = to;
>   			__entry->vm = to->ppgtt? &to->ppgtt->base : NULL;
>   			__entry->dev = engine->i915->drm.primary->index;
>   	),
>   
> -	TP_printk("dev=%u, ring=%u, ctx=%p, ctx_vm=%p",
> -		  __entry->dev, __entry->ring, __entry->to, __entry->vm)
> +	TP_printk("dev=%u, engine=%u:%u, ctx=%p, ctx_vm=%p",
> +		  __entry->dev, __entry->class, __entry->instance, __entry->to,
> +		  __entry->vm)
>   );
>   
>   #endif /* _I915_TRACE_H_ */


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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich
  2018-05-25  8:26 ` [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich Tvrtko Ursulin
@ 2018-05-25 10:28   ` Lionel Landwerlin
  2018-05-25 10:31     ` Lionel Landwerlin
  2018-05-25 12:13     ` Tvrtko Ursulin
  0 siblings, 2 replies; 19+ messages in thread
From: Lionel Landwerlin @ 2018-05-25 10:28 UTC (permalink / raw)
  To: Tvrtko Ursulin, Intel-gfx

On 25/05/18 09:26, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> In the string tracepoint representation we ended up with the engine
> sandwiched between context hardware id and context fence id.
>
> Move the two pieces of context data together for redability.
>
> Binary records are left as is, that is both fields remaing under the
> existing name and ordering.
>
> v2:
>   * Do not consolidate the printk format, just reorder. (Lionel)
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>

Maybe there was misunderstanding on my previous comment.
What I wanted to let you know is that the parser in igt doesn't know 
(yet) how to deal with "engine=%u:%u".
The ordering of the field doesn't matter though.

Updating the parser is probably a one liner. There is some interesting 
logic behind though that expect the engine ids to be contiguous numbers.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>

> ---
>   drivers/gpu/drm/i915/i915_trace.h | 30 +++++++++++++++---------------
>   1 file changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
> index 7acea4052798..bac582ed3a0b 100644
> --- a/drivers/gpu/drm/i915/i915_trace.h
> +++ b/drivers/gpu/drm/i915/i915_trace.h
> @@ -638,9 +638,9 @@ TRACE_EVENT(i915_request_queue,
>   			   __entry->flags = flags;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, flags=0x%x",
> -		      __entry->dev, __entry->hw_id, __entry->class,
> -		      __entry->instance, __entry->ctx, __entry->seqno,
> +	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, flags=0x%x",
> +		      __entry->dev, __entry->class, __entry->instance,
> +		      __entry->hw_id, __entry->ctx, __entry->seqno,
>   		      __entry->flags)
>   );
>   
> @@ -668,9 +668,9 @@ DECLARE_EVENT_CLASS(i915_request,
>   			   __entry->global = rq->global_seqno;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u",
> -		      __entry->dev, __entry->hw_id, __entry->class,
> -		      __entry->instance, __entry->ctx, __entry->seqno,
> +	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u",
> +		      __entry->dev, __entry->class, __entry->instance,
> +		      __entry->hw_id, __entry->ctx, __entry->seqno,
>   		      __entry->global)
>   );
>   
> @@ -718,9 +718,9 @@ TRACE_EVENT(i915_request_in,
>   			   __entry->port = port;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
> -		      __entry->dev, __entry->hw_id, __entry->class,
> -		      __entry->instance, __entry->ctx, __entry->seqno,
> +	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
> +		      __entry->dev, __entry->class, __entry->instance,
> +		      __entry->hw_id, __entry->ctx, __entry->seqno,
>   		      __entry->prio, __entry->global_seqno, __entry->port)
>   );
>   
> @@ -750,9 +750,9 @@ TRACE_EVENT(i915_request_out,
>   			   __entry->completed = i915_request_completed(rq);
>   			   ),
>   
> -		    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
> -			      __entry->dev, __entry->hw_id, __entry->class,
> -			      __entry->instance, __entry->ctx, __entry->seqno,
> +		    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
> +			      __entry->dev, __entry->class, __entry->instance,
> +			      __entry->hw_id, __entry->ctx, __entry->seqno,
>   			      __entry->global_seqno, __entry->completed)
>   );
>   
> @@ -842,9 +842,9 @@ TRACE_EVENT(i915_request_wait_begin,
>   			   __entry->flags = flags;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
> -		      __entry->dev, __entry->hw_id, __entry->class,
> -		      __entry->instance, __entry->ctx, __entry->seqno,
> +	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
> +		      __entry->dev, __entry->class, __entry->instance,
> +		      __entry->hw_id, __entry->ctx, __entry->seqno,
>   		      __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
>   		      __entry->flags)
>   );


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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich
  2018-05-25 10:28   ` Lionel Landwerlin
@ 2018-05-25 10:31     ` Lionel Landwerlin
  2018-05-25 12:13     ` Tvrtko Ursulin
  1 sibling, 0 replies; 19+ messages in thread
From: Lionel Landwerlin @ 2018-05-25 10:31 UTC (permalink / raw)
  To: Tvrtko Ursulin, Intel-gfx

On 25/05/18 11:28, Lionel Landwerlin wrote:
> On 25/05/18 09:26, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> In the string tracepoint representation we ended up with the engine
>> sandwiched between context hardware id and context fence id.
>>
>> Move the two pieces of context data together for redability.
>>
>> Binary records are left as is, that is both fields remaing under the
>> existing name and ordering.
>>
>> v2:
>>   * Do not consolidate the printk format, just reorder. (Lionel)
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
>
> Maybe there was misunderstanding on my previous comment.
> What I wanted to let you know is that the parser in igt doesn't know 
> (yet) how to deal with "engine=%u:%u".

Duh! Actually I'm wrong about that!
It's all fine for the parser. Just need to update the overlay logic.


> The ordering of the field doesn't matter though.
>
> Updating the parser is probably a one liner. There is some interesting 
> logic behind though that expect the engine ids to be contiguous numbers.
>
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
>
>> ---
>>   drivers/gpu/drm/i915/i915_trace.h | 30 +++++++++++++++---------------
>>   1 file changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_trace.h 
>> b/drivers/gpu/drm/i915/i915_trace.h
>> index 7acea4052798..bac582ed3a0b 100644
>> --- a/drivers/gpu/drm/i915/i915_trace.h
>> +++ b/drivers/gpu/drm/i915/i915_trace.h
>> @@ -638,9 +638,9 @@ TRACE_EVENT(i915_request_queue,
>>                  __entry->flags = flags;
>>                  ),
>>   -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>> seqno=%u, flags=0x%x",
>> -              __entry->dev, __entry->hw_id, __entry->class,
>> -              __entry->instance, __entry->ctx, __entry->seqno,
>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>> flags=0x%x",
>> +              __entry->dev, __entry->class, __entry->instance,
>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>                 __entry->flags)
>>   );
>>   @@ -668,9 +668,9 @@ DECLARE_EVENT_CLASS(i915_request,
>>                  __entry->global = rq->global_seqno;
>>                  ),
>>   -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>> seqno=%u, global=%u",
>> -              __entry->dev, __entry->hw_id, __entry->class,
>> -              __entry->instance, __entry->ctx, __entry->seqno,
>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>> global=%u",
>> +              __entry->dev, __entry->class, __entry->instance,
>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>                 __entry->global)
>>   );
>>   @@ -718,9 +718,9 @@ TRACE_EVENT(i915_request_in,
>>                  __entry->port = port;
>>                  ),
>>   -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>> seqno=%u, prio=%u, global=%u, port=%u",
>> -              __entry->dev, __entry->hw_id, __entry->class,
>> -              __entry->instance, __entry->ctx, __entry->seqno,
>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>> prio=%u, global=%u, port=%u",
>> +              __entry->dev, __entry->class, __entry->instance,
>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>                 __entry->prio, __entry->global_seqno, __entry->port)
>>   );
>>   @@ -750,9 +750,9 @@ TRACE_EVENT(i915_request_out,
>>                  __entry->completed = i915_request_completed(rq);
>>                  ),
>>   -            TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>> seqno=%u, global=%u, completed?=%u",
>> -                  __entry->dev, __entry->hw_id, __entry->class,
>> -                  __entry->instance, __entry->ctx, __entry->seqno,
>> +            TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, 
>> seqno=%u, global=%u, completed?=%u",
>> +                  __entry->dev, __entry->class, __entry->instance,
>> +                  __entry->hw_id, __entry->ctx, __entry->seqno,
>>                     __entry->global_seqno, __entry->completed)
>>   );
>>   @@ -842,9 +842,9 @@ TRACE_EVENT(i915_request_wait_begin,
>>                  __entry->flags = flags;
>>                  ),
>>   -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>> seqno=%u, global=%u, blocking=%u, flags=0x%x",
>> -              __entry->dev, __entry->hw_id, __entry->class,
>> -              __entry->instance, __entry->ctx, __entry->seqno,
>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>> global=%u, blocking=%u, flags=0x%x",
>> +              __entry->dev, __entry->class, __entry->instance,
>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>                 __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
>>                 __entry->flags)
>>   );
>
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich
  2018-05-25 10:28   ` Lionel Landwerlin
  2018-05-25 10:31     ` Lionel Landwerlin
@ 2018-05-25 12:13     ` Tvrtko Ursulin
  2018-05-25 12:23       ` Tvrtko Ursulin
  1 sibling, 1 reply; 19+ messages in thread
From: Tvrtko Ursulin @ 2018-05-25 12:13 UTC (permalink / raw)
  To: Lionel Landwerlin, Tvrtko Ursulin, Intel-gfx


On 25/05/2018 11:28, Lionel Landwerlin wrote:
> On 25/05/18 09:26, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> In the string tracepoint representation we ended up with the engine
>> sandwiched between context hardware id and context fence id.
>>
>> Move the two pieces of context data together for redability.
>>
>> Binary records are left as is, that is both fields remaing under the
>> existing name and ordering.
>>
>> v2:
>>   * Do not consolidate the printk format, just reorder. (Lionel)
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
> 
> Maybe there was misunderstanding on my previous comment.
> What I wanted to let you know is that the parser in igt doesn't know 
> (yet) how to deal with "engine=%u:%u".
> The ordering of the field doesn't matter though.

Ah I thought you were complaining about the ctx=%u.%u patch. Even though 
I left the binary stream layout intact I thought maybe you have 
something somewhere which parses the text.

> Updating the parser is probably a one liner. There is some interesting 
> logic behind though that expect the engine ids to be contiguous numbers.
> 
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>

Thanks, now just to find common ground with Chris. :)

Regards,

Tvrtko

>> ---
>>   drivers/gpu/drm/i915/i915_trace.h | 30 +++++++++++++++---------------
>>   1 file changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_trace.h 
>> b/drivers/gpu/drm/i915/i915_trace.h
>> index 7acea4052798..bac582ed3a0b 100644
>> --- a/drivers/gpu/drm/i915/i915_trace.h
>> +++ b/drivers/gpu/drm/i915/i915_trace.h
>> @@ -638,9 +638,9 @@ TRACE_EVENT(i915_request_queue,
>>                  __entry->flags = flags;
>>                  ),
>> -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>> flags=0x%x",
>> -              __entry->dev, __entry->hw_id, __entry->class,
>> -              __entry->instance, __entry->ctx, __entry->seqno,
>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>> flags=0x%x",
>> +              __entry->dev, __entry->class, __entry->instance,
>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>                 __entry->flags)
>>   );
>> @@ -668,9 +668,9 @@ DECLARE_EVENT_CLASS(i915_request,
>>                  __entry->global = rq->global_seqno;
>>                  ),
>> -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>> global=%u",
>> -              __entry->dev, __entry->hw_id, __entry->class,
>> -              __entry->instance, __entry->ctx, __entry->seqno,
>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>> global=%u",
>> +              __entry->dev, __entry->class, __entry->instance,
>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>                 __entry->global)
>>   );
>> @@ -718,9 +718,9 @@ TRACE_EVENT(i915_request_in,
>>                  __entry->port = port;
>>                  ),
>> -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>> prio=%u, global=%u, port=%u",
>> -              __entry->dev, __entry->hw_id, __entry->class,
>> -              __entry->instance, __entry->ctx, __entry->seqno,
>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>> prio=%u, global=%u, port=%u",
>> +              __entry->dev, __entry->class, __entry->instance,
>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>                 __entry->prio, __entry->global_seqno, __entry->port)
>>   );
>> @@ -750,9 +750,9 @@ TRACE_EVENT(i915_request_out,
>>                  __entry->completed = i915_request_completed(rq);
>>                  ),
>> -            TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>> seqno=%u, global=%u, completed?=%u",
>> -                  __entry->dev, __entry->hw_id, __entry->class,
>> -                  __entry->instance, __entry->ctx, __entry->seqno,
>> +            TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, 
>> seqno=%u, global=%u, completed?=%u",
>> +                  __entry->dev, __entry->class, __entry->instance,
>> +                  __entry->hw_id, __entry->ctx, __entry->seqno,
>>                     __entry->global_seqno, __entry->completed)
>>   );
>> @@ -842,9 +842,9 @@ TRACE_EVENT(i915_request_wait_begin,
>>                  __entry->flags = flags;
>>                  ),
>> -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>> global=%u, blocking=%u, flags=0x%x",
>> -              __entry->dev, __entry->hw_id, __entry->class,
>> -              __entry->instance, __entry->ctx, __entry->seqno,
>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>> global=%u, blocking=%u, flags=0x%x",
>> +              __entry->dev, __entry->class, __entry->instance,
>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>                 __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
>>                 __entry->flags)
>>   );
> 
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich
  2018-05-25 12:13     ` Tvrtko Ursulin
@ 2018-05-25 12:23       ` Tvrtko Ursulin
  0 siblings, 0 replies; 19+ messages in thread
From: Tvrtko Ursulin @ 2018-05-25 12:23 UTC (permalink / raw)
  To: Lionel Landwerlin, Tvrtko Ursulin, Intel-gfx


On 25/05/2018 13:13, Tvrtko Ursulin wrote:
> 
> On 25/05/2018 11:28, Lionel Landwerlin wrote:
>> On 25/05/18 09:26, Tvrtko Ursulin wrote:
>>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>
>>> In the string tracepoint representation we ended up with the engine
>>> sandwiched between context hardware id and context fence id.
>>>
>>> Move the two pieces of context data together for redability.
>>>
>>> Binary records are left as is, that is both fields remaing under the
>>> existing name and ordering.
>>>
>>> v2:
>>>   * Do not consolidate the printk format, just reorder. (Lionel)
>>>
>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>> Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
>>
>> Maybe there was misunderstanding on my previous comment.
>> What I wanted to let you know is that the parser in igt doesn't know 
>> (yet) how to deal with "engine=%u:%u".
>> The ordering of the field doesn't matter though.
> 
> Ah I thought you were complaining about the ctx=%u.%u patch. Even though 
> I left the binary stream layout intact I thought maybe you have 
> something somewhere which parses the text.

Well.. left it intact in that patch but changed it with 
engine=class:instance.. :)

Regards,

Tvrtko

>> Updating the parser is probably a one liner. There is some interesting 
>> logic behind though that expect the engine ids to be contiguous numbers.
>>
>> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
> 
> Thanks, now just to find common ground with Chris. :)
> 
> Regards,
> 
> Tvrtko
> 
>>> ---
>>>   drivers/gpu/drm/i915/i915_trace.h | 30 +++++++++++++++---------------
>>>   1 file changed, 15 insertions(+), 15 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/i915_trace.h 
>>> b/drivers/gpu/drm/i915/i915_trace.h
>>> index 7acea4052798..bac582ed3a0b 100644
>>> --- a/drivers/gpu/drm/i915/i915_trace.h
>>> +++ b/drivers/gpu/drm/i915/i915_trace.h
>>> @@ -638,9 +638,9 @@ TRACE_EVENT(i915_request_queue,
>>>                  __entry->flags = flags;
>>>                  ),
>>> -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>>> flags=0x%x",
>>> -              __entry->dev, __entry->hw_id, __entry->class,
>>> -              __entry->instance, __entry->ctx, __entry->seqno,
>>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>>> flags=0x%x",
>>> +              __entry->dev, __entry->class, __entry->instance,
>>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>>                 __entry->flags)
>>>   );
>>> @@ -668,9 +668,9 @@ DECLARE_EVENT_CLASS(i915_request,
>>>                  __entry->global = rq->global_seqno;
>>>                  ),
>>> -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>>> global=%u",
>>> -              __entry->dev, __entry->hw_id, __entry->class,
>>> -              __entry->instance, __entry->ctx, __entry->seqno,
>>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>>> global=%u",
>>> +              __entry->dev, __entry->class, __entry->instance,
>>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>>                 __entry->global)
>>>   );
>>> @@ -718,9 +718,9 @@ TRACE_EVENT(i915_request_in,
>>>                  __entry->port = port;
>>>                  ),
>>> -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>>> prio=%u, global=%u, port=%u",
>>> -              __entry->dev, __entry->hw_id, __entry->class,
>>> -              __entry->instance, __entry->ctx, __entry->seqno,
>>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>>> prio=%u, global=%u, port=%u",
>>> +              __entry->dev, __entry->class, __entry->instance,
>>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>>                 __entry->prio, __entry->global_seqno, __entry->port)
>>>   );
>>> @@ -750,9 +750,9 @@ TRACE_EVENT(i915_request_out,
>>>                  __entry->completed = i915_request_completed(rq);
>>>                  ),
>>> -            TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>>> seqno=%u, global=%u, completed?=%u",
>>> -                  __entry->dev, __entry->hw_id, __entry->class,
>>> -                  __entry->instance, __entry->ctx, __entry->seqno,
>>> +            TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, 
>>> seqno=%u, global=%u, completed?=%u",
>>> +                  __entry->dev, __entry->class, __entry->instance,
>>> +                  __entry->hw_id, __entry->ctx, __entry->seqno,
>>>                     __entry->global_seqno, __entry->completed)
>>>   );
>>> @@ -842,9 +842,9 @@ TRACE_EVENT(i915_request_wait_begin,
>>>                  __entry->flags = flags;
>>>                  ),
>>> -        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>>> global=%u, blocking=%u, flags=0x%x",
>>> -              __entry->dev, __entry->hw_id, __entry->class,
>>> -              __entry->instance, __entry->ctx, __entry->seqno,
>>> +        TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, 
>>> global=%u, blocking=%u, flags=0x%x",
>>> +              __entry->dev, __entry->class, __entry->instance,
>>> +              __entry->hw_id, __entry->ctx, __entry->seqno,
>>>                 __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
>>>                 __entry->flags)
>>>   );
>>
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread

* ✓ Fi.CI.IGT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs
  2018-05-25  8:26 [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Tvrtko Ursulin
                   ` (3 preceding siblings ...)
  2018-05-25 10:22 ` [PATCH 1/3] " Lionel Landwerlin
@ 2018-05-25 12:56 ` Patchwork
  2018-06-05  9:41 ` [PATCH 1/3] " Lionel Landwerlin
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2018-05-25 12:56 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs
URL   : https://patchwork.freedesktop.org/series/43763/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4238_full -> Patchwork_9117_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_9117_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_9117_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/43763/revisions/1/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_9117_full:

  === IGT changes ===

    ==== Warnings ====

    igt@gem_mocs_settings@mocs-rc6-dirty-render:
      shard-kbl:          SKIP -> PASS +1

    igt@gem_mocs_settings@mocs-rc6-render:
      shard-kbl:          PASS -> SKIP

    
== Known issues ==

  Here are the changes found in Patchwork_9117_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_selftest@live_gtt:
      shard-glk:          PASS -> INCOMPLETE (fdo#103359, k.org#198133)

    igt@drv_selftest@live_hangcheck:
      shard-kbl:          NOTRUN -> DMESG-FAIL (fdo#106560)

    igt@gem_workarounds@suspend-resume:
      shard-kbl:          PASS -> INCOMPLETE (fdo#103665)

    igt@kms_flip_tiling@flip-to-y-tiled:
      shard-glk:          PASS -> FAIL (fdo#103822, fdo#104724)

    igt@kms_flip_tiling@flip-y-tiled:
      shard-glk:          PASS -> FAIL (fdo#104724)

    igt@pm_rps@waitboost:
      shard-apl:          PASS -> FAIL (fdo#102250)

    
    ==== Possible fixes ====

    igt@drv_selftest@live_hangcheck:
      shard-apl:          DMESG-FAIL (fdo#106560) -> PASS

    igt@gem_ctx_isolation@bcs0-s3:
      shard-kbl:          INCOMPLETE (fdo#103665) -> PASS +1

    igt@gem_ppgtt@blt-vs-render-ctx0:
      shard-kbl:          INCOMPLETE (fdo#103665, fdo#106023) -> PASS

    igt@kms_flip_tiling@flip-x-tiled:
      shard-glk:          FAIL (fdo#103822, fdo#104724) -> PASS

    
  fdo#102250 https://bugs.freedesktop.org/show_bug.cgi?id=102250
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
  fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023
  fdo#106560 https://bugs.freedesktop.org/show_bug.cgi?id=106560
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_4238 -> Patchwork_9117

  CI_DRM_4238: 2771a5e6347eb63e43fdfc432a9f15ffb55ef209 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4498: f9ecb79ad8b02278cfdb5b82495df47061c04f8f @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9117: c4abefa00271bb29045a20fee8839cef5bbd0fe2 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_9117/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs
  2018-05-25  8:26 [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Tvrtko Ursulin
                   ` (4 preceding siblings ...)
  2018-05-25 12:56 ` ✓ Fi.CI.IGT: success for series starting with [1/3] " Patchwork
@ 2018-06-05  9:41 ` Lionel Landwerlin
  2018-06-05 13:43   ` Tvrtko Ursulin
  2018-06-05 14:43 ` ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2) Patchwork
  2018-06-05 19:08 ` ✓ Fi.CI.IGT: " Patchwork
  7 siblings, 1 reply; 19+ messages in thread
From: Lionel Landwerlin @ 2018-06-05  9:41 UTC (permalink / raw)
  To: Tvrtko Ursulin, Intel-gfx

Any update on this series?

(my comments were a bit fuzzy, but I gave Rb on patch 1 & 2).

Cheers,

-
Lionel

On 25/05/18 09:26, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> Instead of using the engine->id, use uabi_class:instance pairs in trace-
> points including engine info.
>
> This will be more readable, more future proof and more stable for
> userspace consumption.
>
> v2:
>   * Use u16 for class and instance. (Chris Wilson)
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: svetlana.kukanova@intel.com
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>   drivers/gpu/drm/i915/i915_trace.h | 107 ++++++++++++++++++------------
>   1 file changed, 65 insertions(+), 42 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
> index 5d4f78765083..7acea4052798 100644
> --- a/drivers/gpu/drm/i915/i915_trace.h
> +++ b/drivers/gpu/drm/i915/i915_trace.h
> @@ -591,21 +591,26 @@ TRACE_EVENT(i915_gem_ring_sync_to,
>   
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
> -			     __field(u32, sync_from)
> -			     __field(u32, sync_to)
> +			     __field(u32, from_class)
> +			     __field(u32, from_instance)
> +			     __field(u32, to_class)
> +			     __field(u32, to_instance)
>   			     __field(u32, seqno)
>   			     ),
>   
>   	    TP_fast_assign(
>   			   __entry->dev = from->i915->drm.primary->index;
> -			   __entry->sync_from = from->engine->id;
> -			   __entry->sync_to = to->engine->id;
> +			   __entry->from_class = from->engine->uabi_class;
> +			   __entry->from_instance = from->engine->instance;
> +			   __entry->to_class = to->engine->uabi_class;
> +			   __entry->to_instance = to->engine->instance;
>   			   __entry->seqno = from->global_seqno;
>   			   ),
>   
> -	    TP_printk("dev=%u, sync-from=%u, sync-to=%u, seqno=%u",
> +	    TP_printk("dev=%u, sync-from=%u:%u, sync-to=%u:%u, seqno=%u",
>   		      __entry->dev,
> -		      __entry->sync_from, __entry->sync_to,
> +		      __entry->from_class, __entry->from_instance,
> +		      __entry->to_class, __entry->to_instance,
>   		      __entry->seqno)
>   );
>   
> @@ -616,7 +621,8 @@ TRACE_EVENT(i915_request_queue,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, flags)
> @@ -625,15 +631,17 @@ TRACE_EVENT(i915_request_queue,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->flags = flags;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, flags=0x%x",
> -		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
> -		      __entry->seqno, __entry->flags)
> +	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, flags=0x%x",
> +		      __entry->dev, __entry->hw_id, __entry->class,
> +		      __entry->instance, __entry->ctx, __entry->seqno,
> +		      __entry->flags)
>   );
>   
>   DECLARE_EVENT_CLASS(i915_request,
> @@ -643,7 +651,8 @@ DECLARE_EVENT_CLASS(i915_request,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, global)
> @@ -652,15 +661,17 @@ DECLARE_EVENT_CLASS(i915_request,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->global = rq->global_seqno;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u",
> -		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
> -		      __entry->seqno, __entry->global)
> +	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u",
> +		      __entry->dev, __entry->hw_id, __entry->class,
> +		      __entry->instance, __entry->ctx, __entry->seqno,
> +		      __entry->global)
>   );
>   
>   DEFINE_EVENT(i915_request, i915_request_add,
> @@ -686,7 +697,8 @@ TRACE_EVENT(i915_request_in,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, global_seqno)
> @@ -697,7 +709,8 @@ TRACE_EVENT(i915_request_in,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->global_seqno = rq->global_seqno;
> @@ -705,10 +718,10 @@ TRACE_EVENT(i915_request_in,
>   			   __entry->port = port;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
> -		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
> -		      __entry->seqno, __entry->prio, __entry->global_seqno,
> -		      __entry->port)
> +	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
> +		      __entry->dev, __entry->hw_id, __entry->class,
> +		      __entry->instance, __entry->ctx, __entry->seqno,
> +		      __entry->prio, __entry->global_seqno, __entry->port)
>   );
>   
>   TRACE_EVENT(i915_request_out,
> @@ -718,7 +731,8 @@ TRACE_EVENT(i915_request_out,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, global_seqno)
> @@ -728,16 +742,17 @@ TRACE_EVENT(i915_request_out,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->global_seqno = rq->global_seqno;
>   			   __entry->completed = i915_request_completed(rq);
>   			   ),
>   
> -		    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
> -			      __entry->dev, __entry->hw_id, __entry->ring,
> -			      __entry->ctx, __entry->seqno,
> +		    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
> +			      __entry->dev, __entry->hw_id, __entry->class,
> +			      __entry->instance, __entry->ctx, __entry->seqno,
>   			      __entry->global_seqno, __entry->completed)
>   );
>   
> @@ -771,21 +786,23 @@ TRACE_EVENT(intel_engine_notify,
>   
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, seqno)
>   			     __field(bool, waiters)
>   			     ),
>   
>   	    TP_fast_assign(
>   			   __entry->dev = engine->i915->drm.primary->index;
> -			   __entry->ring = engine->id;
> +			   __entry->class = engine->uabi_class;
> +			   __entry->instance = engine->instance;
>   			   __entry->seqno = intel_engine_get_seqno(engine);
>   			   __entry->waiters = waiters;
>   			   ),
>   
> -	    TP_printk("dev=%u, ring=%u, seqno=%u, waiters=%u",
> -		      __entry->dev, __entry->ring, __entry->seqno,
> -		      __entry->waiters)
> +	    TP_printk("dev=%u, engine=%u:%u, seqno=%u, waiters=%u",
> +		      __entry->dev, __entry->class, __entry->instance,
> +		      __entry->seqno, __entry->waiters)
>   );
>   
>   DEFINE_EVENT(i915_request, i915_request_retire,
> @@ -800,7 +817,8 @@ TRACE_EVENT(i915_request_wait_begin,
>   	    TP_STRUCT__entry(
>   			     __field(u32, dev)
>   			     __field(u32, hw_id)
> -			     __field(u32, ring)
> +			     __field(u16, class)
> +			     __field(u16, instance)
>   			     __field(u32, ctx)
>   			     __field(u32, seqno)
>   			     __field(u32, global)
> @@ -816,17 +834,19 @@ TRACE_EVENT(i915_request_wait_begin,
>   	    TP_fast_assign(
>   			   __entry->dev = rq->i915->drm.primary->index;
>   			   __entry->hw_id = rq->gem_context->hw_id;
> -			   __entry->ring = rq->engine->id;
> +			   __entry->class = rq->engine->uabi_class;
> +			   __entry->instance = rq->engine->instance;
>   			   __entry->ctx = rq->fence.context;
>   			   __entry->seqno = rq->fence.seqno;
>   			   __entry->global = rq->global_seqno;
>   			   __entry->flags = flags;
>   			   ),
>   
> -	    TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
> -		      __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
> -		      __entry->seqno, __entry->global,
> -		      !!(__entry->flags & I915_WAIT_LOCKED), __entry->flags)
> +	    TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
> +		      __entry->dev, __entry->hw_id, __entry->class,
> +		      __entry->instance, __entry->ctx, __entry->seqno,
> +		      __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
> +		      __entry->flags)
>   );
>   
>   DEFINE_EVENT(i915_request, i915_request_wait_end,
> @@ -966,21 +986,24 @@ TRACE_EVENT(switch_mm,
>   	TP_ARGS(engine, to),
>   
>   	TP_STRUCT__entry(
> -			__field(u32, ring)
> +			__field(u16, class)
> +			__field(u16, instance)
>   			__field(struct i915_gem_context *, to)
>   			__field(struct i915_address_space *, vm)
>   			__field(u32, dev)
>   	),
>   
>   	TP_fast_assign(
> -			__entry->ring = engine->id;
> +			__entry->class = engine->uabi_class;
> +			__entry->instance = engine->instance;
>   			__entry->to = to;
>   			__entry->vm = to->ppgtt? &to->ppgtt->base : NULL;
>   			__entry->dev = engine->i915->drm.primary->index;
>   	),
>   
> -	TP_printk("dev=%u, ring=%u, ctx=%p, ctx_vm=%p",
> -		  __entry->dev, __entry->ring, __entry->to, __entry->vm)
> +	TP_printk("dev=%u, engine=%u:%u, ctx=%p, ctx_vm=%p",
> +		  __entry->dev, __entry->class, __entry->instance, __entry->to,
> +		  __entry->vm)
>   );
>   
>   #endif /* _I915_TRACE_H_ */


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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [PATCH v2 3/3] drm/i915/trace: Context field needs to be 64-bit wide
  2018-05-25  8:50   ` Chris Wilson
@ 2018-06-05 13:41     ` Tvrtko Ursulin
  2018-06-05 13:47       ` Chris Wilson
  0 siblings, 1 reply; 19+ messages in thread
From: Tvrtko Ursulin @ 2018-06-05 13:41 UTC (permalink / raw)
  To: Intel-gfx

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Underlaying field is u64 so the tracepoint needs to be as well.

v2:
 * Re-order binary packet for 64-bit alignment. (Chris Wilson)

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_trace.h | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
index bac582ed3a0b..3d5716d86e27 100644
--- a/drivers/gpu/drm/i915/i915_trace.h
+++ b/drivers/gpu/drm/i915/i915_trace.h
@@ -621,9 +621,9 @@ TRACE_EVENT(i915_request_queue,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
+			     __field(u64, ctx)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, flags)
 			     ),
@@ -638,7 +638,7 @@ TRACE_EVENT(i915_request_queue,
 			   __entry->flags = flags;
 			   ),
 
-	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, flags=0x%x",
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, flags=0x%x",
 		      __entry->dev, __entry->class, __entry->instance,
 		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->flags)
@@ -651,9 +651,9 @@ DECLARE_EVENT_CLASS(i915_request,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
+			     __field(u64, ctx)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global)
 			     ),
@@ -668,7 +668,7 @@ DECLARE_EVENT_CLASS(i915_request,
 			   __entry->global = rq->global_seqno;
 			   ),
 
-	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u",
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, global=%u",
 		      __entry->dev, __entry->class, __entry->instance,
 		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->global)
@@ -697,9 +697,9 @@ TRACE_EVENT(i915_request_in,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
+			     __field(u64, ctx)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global_seqno)
 			     __field(u32, port)
@@ -718,7 +718,7 @@ TRACE_EVENT(i915_request_in,
 			   __entry->port = port;
 			   ),
 
-	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, prio=%u, global=%u, port=%u",
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, prio=%u, global=%u, port=%u",
 		      __entry->dev, __entry->class, __entry->instance,
 		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->prio, __entry->global_seqno, __entry->port)
@@ -731,9 +731,9 @@ TRACE_EVENT(i915_request_out,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
+			     __field(u64, ctx)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global_seqno)
 			     __field(u32, completed)
@@ -750,7 +750,7 @@ TRACE_EVENT(i915_request_out,
 			   __entry->completed = i915_request_completed(rq);
 			   ),
 
-		    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u, completed?=%u",
+		    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, global=%u, completed?=%u",
 			      __entry->dev, __entry->class, __entry->instance,
 			      __entry->hw_id, __entry->ctx, __entry->seqno,
 			      __entry->global_seqno, __entry->completed)
@@ -817,9 +817,9 @@ TRACE_EVENT(i915_request_wait_begin,
 	    TP_STRUCT__entry(
 			     __field(u32, dev)
 			     __field(u32, hw_id)
+			     __field(u64, ctx)
 			     __field(u16, class)
 			     __field(u16, instance)
-			     __field(u32, ctx)
 			     __field(u32, seqno)
 			     __field(u32, global)
 			     __field(unsigned int, flags)
@@ -842,7 +842,7 @@ TRACE_EVENT(i915_request_wait_begin,
 			   __entry->flags = flags;
 			   ),
 
-	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%u, seqno=%u, global=%u, blocking=%u, flags=0x%x",
+	    TP_printk("dev=%u, engine=%u:%u, hw_id=%u, ctx=%llu, seqno=%u, global=%u, blocking=%u, flags=0x%x",
 		      __entry->dev, __entry->class, __entry->instance,
 		      __entry->hw_id, __entry->ctx, __entry->seqno,
 		      __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
-- 
2.17.0

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

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs
  2018-06-05  9:41 ` [PATCH 1/3] " Lionel Landwerlin
@ 2018-06-05 13:43   ` Tvrtko Ursulin
  2018-06-05 13:45     ` Lionel Landwerlin
  0 siblings, 1 reply; 19+ messages in thread
From: Tvrtko Ursulin @ 2018-06-05 13:43 UTC (permalink / raw)
  To: Lionel Landwerlin, Tvrtko Ursulin, Intel-gfx


On 05/06/2018 10:41, Lionel Landwerlin wrote:
> Any update on this series?
> 
> (my comments were a bit fuzzy, but I gave Rb on patch 1 & 2).

Forgot about it for a bit. Just sent updated 3/3.

Was you r-b for 2/3 for v1 or v2 at the end?

Regards,

Tvrtko

> 
> Cheers,
> 
> -
> Lionel
> 
> On 25/05/18 09:26, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> Instead of using the engine->id, use uabi_class:instance pairs in trace-
>> points including engine info.
>>
>> This will be more readable, more future proof and more stable for
>> userspace consumption.
>>
>> v2:
>>   * Use u16 for class and instance. (Chris Wilson)
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: svetlana.kukanova@intel.com
>> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>> ---
>>   drivers/gpu/drm/i915/i915_trace.h | 107 ++++++++++++++++++------------
>>   1 file changed, 65 insertions(+), 42 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_trace.h 
>> b/drivers/gpu/drm/i915/i915_trace.h
>> index 5d4f78765083..7acea4052798 100644
>> --- a/drivers/gpu/drm/i915/i915_trace.h
>> +++ b/drivers/gpu/drm/i915/i915_trace.h
>> @@ -591,21 +591,26 @@ TRACE_EVENT(i915_gem_ring_sync_to,
>>           TP_STRUCT__entry(
>>                    __field(u32, dev)
>> -                 __field(u32, sync_from)
>> -                 __field(u32, sync_to)
>> +                 __field(u32, from_class)
>> +                 __field(u32, from_instance)
>> +                 __field(u32, to_class)
>> +                 __field(u32, to_instance)
>>                    __field(u32, seqno)
>>                    ),
>>           TP_fast_assign(
>>                  __entry->dev = from->i915->drm.primary->index;
>> -               __entry->sync_from = from->engine->id;
>> -               __entry->sync_to = to->engine->id;
>> +               __entry->from_class = from->engine->uabi_class;
>> +               __entry->from_instance = from->engine->instance;
>> +               __entry->to_class = to->engine->uabi_class;
>> +               __entry->to_instance = to->engine->instance;
>>                  __entry->seqno = from->global_seqno;
>>                  ),
>> -        TP_printk("dev=%u, sync-from=%u, sync-to=%u, seqno=%u",
>> +        TP_printk("dev=%u, sync-from=%u:%u, sync-to=%u:%u, seqno=%u",
>>                 __entry->dev,
>> -              __entry->sync_from, __entry->sync_to,
>> +              __entry->from_class, __entry->from_instance,
>> +              __entry->to_class, __entry->to_instance,
>>                 __entry->seqno)
>>   );
>> @@ -616,7 +621,8 @@ TRACE_EVENT(i915_request_queue,
>>           TP_STRUCT__entry(
>>                    __field(u32, dev)
>>                    __field(u32, hw_id)
>> -                 __field(u32, ring)
>> +                 __field(u16, class)
>> +                 __field(u16, instance)
>>                    __field(u32, ctx)
>>                    __field(u32, seqno)
>>                    __field(u32, flags)
>> @@ -625,15 +631,17 @@ TRACE_EVENT(i915_request_queue,
>>           TP_fast_assign(
>>                  __entry->dev = rq->i915->drm.primary->index;
>>                  __entry->hw_id = rq->gem_context->hw_id;
>> -               __entry->ring = rq->engine->id;
>> +               __entry->class = rq->engine->uabi_class;
>> +               __entry->instance = rq->engine->instance;
>>                  __entry->ctx = rq->fence.context;
>>                  __entry->seqno = rq->fence.seqno;
>>                  __entry->flags = flags;
>>                  ),
>> -        TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>> flags=0x%x",
>> -              __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
>> -              __entry->seqno, __entry->flags)
>> +        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>> flags=0x%x",
>> +              __entry->dev, __entry->hw_id, __entry->class,
>> +              __entry->instance, __entry->ctx, __entry->seqno,
>> +              __entry->flags)
>>   );
>>   DECLARE_EVENT_CLASS(i915_request,
>> @@ -643,7 +651,8 @@ DECLARE_EVENT_CLASS(i915_request,
>>           TP_STRUCT__entry(
>>                    __field(u32, dev)
>>                    __field(u32, hw_id)
>> -                 __field(u32, ring)
>> +                 __field(u16, class)
>> +                 __field(u16, instance)
>>                    __field(u32, ctx)
>>                    __field(u32, seqno)
>>                    __field(u32, global)
>> @@ -652,15 +661,17 @@ DECLARE_EVENT_CLASS(i915_request,
>>           TP_fast_assign(
>>                  __entry->dev = rq->i915->drm.primary->index;
>>                  __entry->hw_id = rq->gem_context->hw_id;
>> -               __entry->ring = rq->engine->id;
>> +               __entry->class = rq->engine->uabi_class;
>> +               __entry->instance = rq->engine->instance;
>>                  __entry->ctx = rq->fence.context;
>>                  __entry->seqno = rq->fence.seqno;
>>                  __entry->global = rq->global_seqno;
>>                  ),
>> -        TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>> global=%u",
>> -              __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
>> -              __entry->seqno, __entry->global)
>> +        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>> global=%u",
>> +              __entry->dev, __entry->hw_id, __entry->class,
>> +              __entry->instance, __entry->ctx, __entry->seqno,
>> +              __entry->global)
>>   );
>>   DEFINE_EVENT(i915_request, i915_request_add,
>> @@ -686,7 +697,8 @@ TRACE_EVENT(i915_request_in,
>>           TP_STRUCT__entry(
>>                    __field(u32, dev)
>>                    __field(u32, hw_id)
>> -                 __field(u32, ring)
>> +                 __field(u16, class)
>> +                 __field(u16, instance)
>>                    __field(u32, ctx)
>>                    __field(u32, seqno)
>>                    __field(u32, global_seqno)
>> @@ -697,7 +709,8 @@ TRACE_EVENT(i915_request_in,
>>           TP_fast_assign(
>>                  __entry->dev = rq->i915->drm.primary->index;
>>                  __entry->hw_id = rq->gem_context->hw_id;
>> -               __entry->ring = rq->engine->id;
>> +               __entry->class = rq->engine->uabi_class;
>> +               __entry->instance = rq->engine->instance;
>>                  __entry->ctx = rq->fence.context;
>>                  __entry->seqno = rq->fence.seqno;
>>                  __entry->global_seqno = rq->global_seqno;
>> @@ -705,10 +718,10 @@ TRACE_EVENT(i915_request_in,
>>                  __entry->port = port;
>>                  ),
>> -        TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>> prio=%u, global=%u, port=%u",
>> -              __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
>> -              __entry->seqno, __entry->prio, __entry->global_seqno,
>> -              __entry->port)
>> +        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>> prio=%u, global=%u, port=%u",
>> +              __entry->dev, __entry->hw_id, __entry->class,
>> +              __entry->instance, __entry->ctx, __entry->seqno,
>> +              __entry->prio, __entry->global_seqno, __entry->port)
>>   );
>>   TRACE_EVENT(i915_request_out,
>> @@ -718,7 +731,8 @@ TRACE_EVENT(i915_request_out,
>>           TP_STRUCT__entry(
>>                    __field(u32, dev)
>>                    __field(u32, hw_id)
>> -                 __field(u32, ring)
>> +                 __field(u16, class)
>> +                 __field(u16, instance)
>>                    __field(u32, ctx)
>>                    __field(u32, seqno)
>>                    __field(u32, global_seqno)
>> @@ -728,16 +742,17 @@ TRACE_EVENT(i915_request_out,
>>           TP_fast_assign(
>>                  __entry->dev = rq->i915->drm.primary->index;
>>                  __entry->hw_id = rq->gem_context->hw_id;
>> -               __entry->ring = rq->engine->id;
>> +               __entry->class = rq->engine->uabi_class;
>> +               __entry->instance = rq->engine->instance;
>>                  __entry->ctx = rq->fence.context;
>>                  __entry->seqno = rq->fence.seqno;
>>                  __entry->global_seqno = rq->global_seqno;
>>                  __entry->completed = i915_request_completed(rq);
>>                  ),
>> -            TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>> global=%u, completed?=%u",
>> -                  __entry->dev, __entry->hw_id, __entry->ring,
>> -                  __entry->ctx, __entry->seqno,
>> +            TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>> seqno=%u, global=%u, completed?=%u",
>> +                  __entry->dev, __entry->hw_id, __entry->class,
>> +                  __entry->instance, __entry->ctx, __entry->seqno,
>>                     __entry->global_seqno, __entry->completed)
>>   );
>> @@ -771,21 +786,23 @@ TRACE_EVENT(intel_engine_notify,
>>           TP_STRUCT__entry(
>>                    __field(u32, dev)
>> -                 __field(u32, ring)
>> +                 __field(u16, class)
>> +                 __field(u16, instance)
>>                    __field(u32, seqno)
>>                    __field(bool, waiters)
>>                    ),
>>           TP_fast_assign(
>>                  __entry->dev = engine->i915->drm.primary->index;
>> -               __entry->ring = engine->id;
>> +               __entry->class = engine->uabi_class;
>> +               __entry->instance = engine->instance;
>>                  __entry->seqno = intel_engine_get_seqno(engine);
>>                  __entry->waiters = waiters;
>>                  ),
>> -        TP_printk("dev=%u, ring=%u, seqno=%u, waiters=%u",
>> -              __entry->dev, __entry->ring, __entry->seqno,
>> -              __entry->waiters)
>> +        TP_printk("dev=%u, engine=%u:%u, seqno=%u, waiters=%u",
>> +              __entry->dev, __entry->class, __entry->instance,
>> +              __entry->seqno, __entry->waiters)
>>   );
>>   DEFINE_EVENT(i915_request, i915_request_retire,
>> @@ -800,7 +817,8 @@ TRACE_EVENT(i915_request_wait_begin,
>>           TP_STRUCT__entry(
>>                    __field(u32, dev)
>>                    __field(u32, hw_id)
>> -                 __field(u32, ring)
>> +                 __field(u16, class)
>> +                 __field(u16, instance)
>>                    __field(u32, ctx)
>>                    __field(u32, seqno)
>>                    __field(u32, global)
>> @@ -816,17 +834,19 @@ TRACE_EVENT(i915_request_wait_begin,
>>           TP_fast_assign(
>>                  __entry->dev = rq->i915->drm.primary->index;
>>                  __entry->hw_id = rq->gem_context->hw_id;
>> -               __entry->ring = rq->engine->id;
>> +               __entry->class = rq->engine->uabi_class;
>> +               __entry->instance = rq->engine->instance;
>>                  __entry->ctx = rq->fence.context;
>>                  __entry->seqno = rq->fence.seqno;
>>                  __entry->global = rq->global_seqno;
>>                  __entry->flags = flags;
>>                  ),
>> -        TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>> global=%u, blocking=%u, flags=0x%x",
>> -              __entry->dev, __entry->hw_id, __entry->ring, __entry->ctx,
>> -              __entry->seqno, __entry->global,
>> -              !!(__entry->flags & I915_WAIT_LOCKED), __entry->flags)
>> +        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, seqno=%u, 
>> global=%u, blocking=%u, flags=0x%x",
>> +              __entry->dev, __entry->hw_id, __entry->class,
>> +              __entry->instance, __entry->ctx, __entry->seqno,
>> +              __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
>> +              __entry->flags)
>>   );
>>   DEFINE_EVENT(i915_request, i915_request_wait_end,
>> @@ -966,21 +986,24 @@ TRACE_EVENT(switch_mm,
>>       TP_ARGS(engine, to),
>>       TP_STRUCT__entry(
>> -            __field(u32, ring)
>> +            __field(u16, class)
>> +            __field(u16, instance)
>>               __field(struct i915_gem_context *, to)
>>               __field(struct i915_address_space *, vm)
>>               __field(u32, dev)
>>       ),
>>       TP_fast_assign(
>> -            __entry->ring = engine->id;
>> +            __entry->class = engine->uabi_class;
>> +            __entry->instance = engine->instance;
>>               __entry->to = to;
>>               __entry->vm = to->ppgtt? &to->ppgtt->base : NULL;
>>               __entry->dev = engine->i915->drm.primary->index;
>>       ),
>> -    TP_printk("dev=%u, ring=%u, ctx=%p, ctx_vm=%p",
>> -          __entry->dev, __entry->ring, __entry->to, __entry->vm)
>> +    TP_printk("dev=%u, engine=%u:%u, ctx=%p, ctx_vm=%p",
>> +          __entry->dev, __entry->class, __entry->instance, __entry->to,
>> +          __entry->vm)
>>   );
>>   #endif /* _I915_TRACE_H_ */
> 
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs
  2018-06-05 13:43   ` Tvrtko Ursulin
@ 2018-06-05 13:45     ` Lionel Landwerlin
  0 siblings, 0 replies; 19+ messages in thread
From: Lionel Landwerlin @ 2018-06-05 13:45 UTC (permalink / raw)
  To: Tvrtko Ursulin, Tvrtko Ursulin, Intel-gfx

On 05/06/18 14:43, Tvrtko Ursulin wrote:
>
> On 05/06/2018 10:41, Lionel Landwerlin wrote:
>> Any update on this series?
>>
>> (my comments were a bit fuzzy, but I gave Rb on patch 1 & 2).
>
> Forgot about it for a bit. Just sent updated 3/3.
>
> Was you r-b for 2/3 for v1 or v2 at the end?

It was for v2.

Thanks a lot,

-
Lionel

>
> Regards,
>
> Tvrtko
>
>>
>> Cheers,
>>
>> -
>> Lionel
>>
>> On 25/05/18 09:26, Tvrtko Ursulin wrote:
>>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>>
>>> Instead of using the engine->id, use uabi_class:instance pairs in 
>>> trace-
>>> points including engine info.
>>>
>>> This will be more readable, more future proof and more stable for
>>> userspace consumption.
>>>
>>> v2:
>>>   * Use u16 for class and instance. (Chris Wilson)
>>>
>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>>> Cc: svetlana.kukanova@intel.com
>>> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
>>> ---
>>>   drivers/gpu/drm/i915/i915_trace.h | 107 
>>> ++++++++++++++++++------------
>>>   1 file changed, 65 insertions(+), 42 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/i915_trace.h 
>>> b/drivers/gpu/drm/i915/i915_trace.h
>>> index 5d4f78765083..7acea4052798 100644
>>> --- a/drivers/gpu/drm/i915/i915_trace.h
>>> +++ b/drivers/gpu/drm/i915/i915_trace.h
>>> @@ -591,21 +591,26 @@ TRACE_EVENT(i915_gem_ring_sync_to,
>>>           TP_STRUCT__entry(
>>>                    __field(u32, dev)
>>> -                 __field(u32, sync_from)
>>> -                 __field(u32, sync_to)
>>> +                 __field(u32, from_class)
>>> +                 __field(u32, from_instance)
>>> +                 __field(u32, to_class)
>>> +                 __field(u32, to_instance)
>>>                    __field(u32, seqno)
>>>                    ),
>>>           TP_fast_assign(
>>>                  __entry->dev = from->i915->drm.primary->index;
>>> -               __entry->sync_from = from->engine->id;
>>> -               __entry->sync_to = to->engine->id;
>>> +               __entry->from_class = from->engine->uabi_class;
>>> +               __entry->from_instance = from->engine->instance;
>>> +               __entry->to_class = to->engine->uabi_class;
>>> +               __entry->to_instance = to->engine->instance;
>>>                  __entry->seqno = from->global_seqno;
>>>                  ),
>>> -        TP_printk("dev=%u, sync-from=%u, sync-to=%u, seqno=%u",
>>> +        TP_printk("dev=%u, sync-from=%u:%u, sync-to=%u:%u, seqno=%u",
>>>                 __entry->dev,
>>> -              __entry->sync_from, __entry->sync_to,
>>> +              __entry->from_class, __entry->from_instance,
>>> +              __entry->to_class, __entry->to_instance,
>>>                 __entry->seqno)
>>>   );
>>> @@ -616,7 +621,8 @@ TRACE_EVENT(i915_request_queue,
>>>           TP_STRUCT__entry(
>>>                    __field(u32, dev)
>>>                    __field(u32, hw_id)
>>> -                 __field(u32, ring)
>>> +                 __field(u16, class)
>>> +                 __field(u16, instance)
>>>                    __field(u32, ctx)
>>>                    __field(u32, seqno)
>>>                    __field(u32, flags)
>>> @@ -625,15 +631,17 @@ TRACE_EVENT(i915_request_queue,
>>>           TP_fast_assign(
>>>                  __entry->dev = rq->i915->drm.primary->index;
>>>                  __entry->hw_id = rq->gem_context->hw_id;
>>> -               __entry->ring = rq->engine->id;
>>> +               __entry->class = rq->engine->uabi_class;
>>> +               __entry->instance = rq->engine->instance;
>>>                  __entry->ctx = rq->fence.context;
>>>                  __entry->seqno = rq->fence.seqno;
>>>                  __entry->flags = flags;
>>>                  ),
>>> -        TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>>> flags=0x%x",
>>> -              __entry->dev, __entry->hw_id, __entry->ring, 
>>> __entry->ctx,
>>> -              __entry->seqno, __entry->flags)
>>> +        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>>> seqno=%u, flags=0x%x",
>>> +              __entry->dev, __entry->hw_id, __entry->class,
>>> +              __entry->instance, __entry->ctx, __entry->seqno,
>>> +              __entry->flags)
>>>   );
>>>   DECLARE_EVENT_CLASS(i915_request,
>>> @@ -643,7 +651,8 @@ DECLARE_EVENT_CLASS(i915_request,
>>>           TP_STRUCT__entry(
>>>                    __field(u32, dev)
>>>                    __field(u32, hw_id)
>>> -                 __field(u32, ring)
>>> +                 __field(u16, class)
>>> +                 __field(u16, instance)
>>>                    __field(u32, ctx)
>>>                    __field(u32, seqno)
>>>                    __field(u32, global)
>>> @@ -652,15 +661,17 @@ DECLARE_EVENT_CLASS(i915_request,
>>>           TP_fast_assign(
>>>                  __entry->dev = rq->i915->drm.primary->index;
>>>                  __entry->hw_id = rq->gem_context->hw_id;
>>> -               __entry->ring = rq->engine->id;
>>> +               __entry->class = rq->engine->uabi_class;
>>> +               __entry->instance = rq->engine->instance;
>>>                  __entry->ctx = rq->fence.context;
>>>                  __entry->seqno = rq->fence.seqno;
>>>                  __entry->global = rq->global_seqno;
>>>                  ),
>>> -        TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>>> global=%u",
>>> -              __entry->dev, __entry->hw_id, __entry->ring, 
>>> __entry->ctx,
>>> -              __entry->seqno, __entry->global)
>>> +        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>>> seqno=%u, global=%u",
>>> +              __entry->dev, __entry->hw_id, __entry->class,
>>> +              __entry->instance, __entry->ctx, __entry->seqno,
>>> +              __entry->global)
>>>   );
>>>   DEFINE_EVENT(i915_request, i915_request_add,
>>> @@ -686,7 +697,8 @@ TRACE_EVENT(i915_request_in,
>>>           TP_STRUCT__entry(
>>>                    __field(u32, dev)
>>>                    __field(u32, hw_id)
>>> -                 __field(u32, ring)
>>> +                 __field(u16, class)
>>> +                 __field(u16, instance)
>>>                    __field(u32, ctx)
>>>                    __field(u32, seqno)
>>>                    __field(u32, global_seqno)
>>> @@ -697,7 +709,8 @@ TRACE_EVENT(i915_request_in,
>>>           TP_fast_assign(
>>>                  __entry->dev = rq->i915->drm.primary->index;
>>>                  __entry->hw_id = rq->gem_context->hw_id;
>>> -               __entry->ring = rq->engine->id;
>>> +               __entry->class = rq->engine->uabi_class;
>>> +               __entry->instance = rq->engine->instance;
>>>                  __entry->ctx = rq->fence.context;
>>>                  __entry->seqno = rq->fence.seqno;
>>>                  __entry->global_seqno = rq->global_seqno;
>>> @@ -705,10 +718,10 @@ TRACE_EVENT(i915_request_in,
>>>                  __entry->port = port;
>>>                  ),
>>> -        TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>>> prio=%u, global=%u, port=%u",
>>> -              __entry->dev, __entry->hw_id, __entry->ring, 
>>> __entry->ctx,
>>> -              __entry->seqno, __entry->prio, __entry->global_seqno,
>>> -              __entry->port)
>>> +        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>>> seqno=%u, prio=%u, global=%u, port=%u",
>>> +              __entry->dev, __entry->hw_id, __entry->class,
>>> +              __entry->instance, __entry->ctx, __entry->seqno,
>>> +              __entry->prio, __entry->global_seqno, __entry->port)
>>>   );
>>>   TRACE_EVENT(i915_request_out,
>>> @@ -718,7 +731,8 @@ TRACE_EVENT(i915_request_out,
>>>           TP_STRUCT__entry(
>>>                    __field(u32, dev)
>>>                    __field(u32, hw_id)
>>> -                 __field(u32, ring)
>>> +                 __field(u16, class)
>>> +                 __field(u16, instance)
>>>                    __field(u32, ctx)
>>>                    __field(u32, seqno)
>>>                    __field(u32, global_seqno)
>>> @@ -728,16 +742,17 @@ TRACE_EVENT(i915_request_out,
>>>           TP_fast_assign(
>>>                  __entry->dev = rq->i915->drm.primary->index;
>>>                  __entry->hw_id = rq->gem_context->hw_id;
>>> -               __entry->ring = rq->engine->id;
>>> +               __entry->class = rq->engine->uabi_class;
>>> +               __entry->instance = rq->engine->instance;
>>>                  __entry->ctx = rq->fence.context;
>>>                  __entry->seqno = rq->fence.seqno;
>>>                  __entry->global_seqno = rq->global_seqno;
>>>                  __entry->completed = i915_request_completed(rq);
>>>                  ),
>>> -            TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>>> global=%u, completed?=%u",
>>> -                  __entry->dev, __entry->hw_id, __entry->ring,
>>> -                  __entry->ctx, __entry->seqno,
>>> +            TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>>> seqno=%u, global=%u, completed?=%u",
>>> +                  __entry->dev, __entry->hw_id, __entry->class,
>>> +                  __entry->instance, __entry->ctx, __entry->seqno,
>>>                     __entry->global_seqno, __entry->completed)
>>>   );
>>> @@ -771,21 +786,23 @@ TRACE_EVENT(intel_engine_notify,
>>>           TP_STRUCT__entry(
>>>                    __field(u32, dev)
>>> -                 __field(u32, ring)
>>> +                 __field(u16, class)
>>> +                 __field(u16, instance)
>>>                    __field(u32, seqno)
>>>                    __field(bool, waiters)
>>>                    ),
>>>           TP_fast_assign(
>>>                  __entry->dev = engine->i915->drm.primary->index;
>>> -               __entry->ring = engine->id;
>>> +               __entry->class = engine->uabi_class;
>>> +               __entry->instance = engine->instance;
>>>                  __entry->seqno = intel_engine_get_seqno(engine);
>>>                  __entry->waiters = waiters;
>>>                  ),
>>> -        TP_printk("dev=%u, ring=%u, seqno=%u, waiters=%u",
>>> -              __entry->dev, __entry->ring, __entry->seqno,
>>> -              __entry->waiters)
>>> +        TP_printk("dev=%u, engine=%u:%u, seqno=%u, waiters=%u",
>>> +              __entry->dev, __entry->class, __entry->instance,
>>> +              __entry->seqno, __entry->waiters)
>>>   );
>>>   DEFINE_EVENT(i915_request, i915_request_retire,
>>> @@ -800,7 +817,8 @@ TRACE_EVENT(i915_request_wait_begin,
>>>           TP_STRUCT__entry(
>>>                    __field(u32, dev)
>>>                    __field(u32, hw_id)
>>> -                 __field(u32, ring)
>>> +                 __field(u16, class)
>>> +                 __field(u16, instance)
>>>                    __field(u32, ctx)
>>>                    __field(u32, seqno)
>>>                    __field(u32, global)
>>> @@ -816,17 +834,19 @@ TRACE_EVENT(i915_request_wait_begin,
>>>           TP_fast_assign(
>>>                  __entry->dev = rq->i915->drm.primary->index;
>>>                  __entry->hw_id = rq->gem_context->hw_id;
>>> -               __entry->ring = rq->engine->id;
>>> +               __entry->class = rq->engine->uabi_class;
>>> +               __entry->instance = rq->engine->instance;
>>>                  __entry->ctx = rq->fence.context;
>>>                  __entry->seqno = rq->fence.seqno;
>>>                  __entry->global = rq->global_seqno;
>>>                  __entry->flags = flags;
>>>                  ),
>>> -        TP_printk("dev=%u, hw_id=%u, ring=%u, ctx=%u, seqno=%u, 
>>> global=%u, blocking=%u, flags=0x%x",
>>> -              __entry->dev, __entry->hw_id, __entry->ring, 
>>> __entry->ctx,
>>> -              __entry->seqno, __entry->global,
>>> -              !!(__entry->flags & I915_WAIT_LOCKED), __entry->flags)
>>> +        TP_printk("dev=%u, hw_id=%u, engine=%u:%u, ctx=%u, 
>>> seqno=%u, global=%u, blocking=%u, flags=0x%x",
>>> +              __entry->dev, __entry->hw_id, __entry->class,
>>> +              __entry->instance, __entry->ctx, __entry->seqno,
>>> +              __entry->global, !!(__entry->flags & I915_WAIT_LOCKED),
>>> +              __entry->flags)
>>>   );
>>>   DEFINE_EVENT(i915_request, i915_request_wait_end,
>>> @@ -966,21 +986,24 @@ TRACE_EVENT(switch_mm,
>>>       TP_ARGS(engine, to),
>>>       TP_STRUCT__entry(
>>> -            __field(u32, ring)
>>> +            __field(u16, class)
>>> +            __field(u16, instance)
>>>               __field(struct i915_gem_context *, to)
>>>               __field(struct i915_address_space *, vm)
>>>               __field(u32, dev)
>>>       ),
>>>       TP_fast_assign(
>>> -            __entry->ring = engine->id;
>>> +            __entry->class = engine->uabi_class;
>>> +            __entry->instance = engine->instance;
>>>               __entry->to = to;
>>>               __entry->vm = to->ppgtt? &to->ppgtt->base : NULL;
>>>               __entry->dev = engine->i915->drm.primary->index;
>>>       ),
>>> -    TP_printk("dev=%u, ring=%u, ctx=%p, ctx_vm=%p",
>>> -          __entry->dev, __entry->ring, __entry->to, __entry->vm)
>>> +    TP_printk("dev=%u, engine=%u:%u, ctx=%p, ctx_vm=%p",
>>> +          __entry->dev, __entry->class, __entry->instance, 
>>> __entry->to,
>>> +          __entry->vm)
>>>   );
>>>   #endif /* _I915_TRACE_H_ */
>>
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
>

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH v2 3/3] drm/i915/trace: Context field needs to be 64-bit wide
  2018-06-05 13:41     ` [PATCH v2 " Tvrtko Ursulin
@ 2018-06-05 13:47       ` Chris Wilson
  0 siblings, 0 replies; 19+ messages in thread
From: Chris Wilson @ 2018-06-05 13:47 UTC (permalink / raw)
  To: Tvrtko Ursulin, Intel-gfx

Quoting Tvrtko Ursulin (2018-06-05 14:41:24)
> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> 
> Underlaying field is u64 so the tracepoint needs to be as well.
> 
> v2:
>  * Re-order binary packet for 64-bit alignment. (Chris Wilson)
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>

Couldn't see any holes,
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2)
  2018-05-25  8:26 [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Tvrtko Ursulin
                   ` (5 preceding siblings ...)
  2018-06-05  9:41 ` [PATCH 1/3] " Lionel Landwerlin
@ 2018-06-05 14:43 ` Patchwork
  2018-06-05 15:48   ` Tvrtko Ursulin
  2018-06-05 19:08 ` ✓ Fi.CI.IGT: " Patchwork
  7 siblings, 1 reply; 19+ messages in thread
From: Patchwork @ 2018-06-05 14:43 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2)
URL   : https://patchwork.freedesktop.org/series/43763/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4279 -> Patchwork_9202 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/43763/revisions/2/mbox/

== Known issues ==

  Here are the changes found in Patchwork_9202 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@drv_module_reload@basic-reload:
      fi-glk-j4005:       NOTRUN -> DMESG-WARN (fdo#106725, fdo#106248)

    igt@kms_flip@basic-flip-vs-modeset:
      fi-glk-j4005:       NOTRUN -> DMESG-WARN (fdo#106000)

    igt@kms_flip@basic-flip-vs-wf_vblank:
      fi-glk-j4005:       NOTRUN -> FAIL (fdo#100368)

    igt@kms_flip@basic-plain-flip:
      fi-glk-j4005:       NOTRUN -> DMESG-WARN (fdo#106097)

    igt@kms_frontbuffer_tracking@basic:
      fi-hsw-4200u:       PASS -> DMESG-FAIL (fdo#106103, fdo#102614)

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
      fi-bxt-dsi:         NOTRUN -> INCOMPLETE (fdo#103927)

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
  fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
  fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
  fdo#106097 https://bugs.freedesktop.org/show_bug.cgi?id=106097
  fdo#106103 https://bugs.freedesktop.org/show_bug.cgi?id=106103
  fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
  fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725


== Participating hosts (39 -> 37) ==

  Additional (2): fi-glk-j4005 fi-bxt-dsi 
  Missing    (4): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-skl-6700hq 


== Build changes ==

    * Linux: CI_DRM_4279 -> Patchwork_9202

  CI_DRM_4279: c17149502fba5d36314b384bbf43b2b9c93292cf @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4507: 938135f033d7fd79c04a7a042d40f9d074489ffd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9202: e2b0099804b3dba0e9683e6a3e1e7855751a7f08 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

e2b0099804b3 drm/i915/trace: Context field needs to be 64-bit wide
3600d64863f5 drm/i915/trace: Remove engine out of the context sandwich
2d2eadc345ba drm/i915/trace: Describe engines as class:instance pairs

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_9202/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2)
  2018-06-05 14:43 ` ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2) Patchwork
@ 2018-06-05 15:48   ` Tvrtko Ursulin
  0 siblings, 0 replies; 19+ messages in thread
From: Tvrtko Ursulin @ 2018-06-05 15:48 UTC (permalink / raw)
  To: intel-gfx, Patchwork, Tvrtko Ursulin


On 05/06/2018 15:43, Patchwork wrote:
> == Series Details ==
> 
> Series: series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2)
> URL   : https://patchwork.freedesktop.org/series/43763/
> State : success
> 
> == Summary ==
> 
> = CI Bug Log - changes from CI_DRM_4279 -> Patchwork_9202 =
> 
> == Summary - SUCCESS ==
> 
>    No regressions found.
> 
>    External URL: https://patchwork.freedesktop.org/api/1.0/series/43763/revisions/2/mbox/
> 
> == Known issues ==
> 
>    Here are the changes found in Patchwork_9202 that come from known issues:
> 
>    === IGT changes ===
> 
>      ==== Issues hit ====
> 
>      igt@drv_module_reload@basic-reload:
>        fi-glk-j4005:       NOTRUN -> DMESG-WARN (fdo#106725, fdo#106248)
> 
>      igt@kms_flip@basic-flip-vs-modeset:
>        fi-glk-j4005:       NOTRUN -> DMESG-WARN (fdo#106000)
> 
>      igt@kms_flip@basic-flip-vs-wf_vblank:
>        fi-glk-j4005:       NOTRUN -> FAIL (fdo#100368)
> 
>      igt@kms_flip@basic-plain-flip:
>        fi-glk-j4005:       NOTRUN -> DMESG-WARN (fdo#106097)
> 
>      igt@kms_frontbuffer_tracking@basic:
>        fi-hsw-4200u:       PASS -> DMESG-FAIL (fdo#106103, fdo#102614)
> 
>      igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c:
>        fi-bxt-dsi:         NOTRUN -> INCOMPLETE (fdo#103927)
> 
>      
>    fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
>    fdo#102614 https://bugs.freedesktop.org/show_bug.cgi?id=102614
>    fdo#103927 https://bugs.freedesktop.org/show_bug.cgi?id=103927
>    fdo#106000 https://bugs.freedesktop.org/show_bug.cgi?id=106000
>    fdo#106097 https://bugs.freedesktop.org/show_bug.cgi?id=106097
>    fdo#106103 https://bugs.freedesktop.org/show_bug.cgi?id=106103
>    fdo#106248 https://bugs.freedesktop.org/show_bug.cgi?id=106248
>    fdo#106725 https://bugs.freedesktop.org/show_bug.cgi?id=106725
> 
> 
> == Participating hosts (39 -> 37) ==
> 
>    Additional (2): fi-glk-j4005 fi-bxt-dsi
>    Missing    (4): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-skl-6700hq
> 
> 
> == Build changes ==
> 
>      * Linux: CI_DRM_4279 -> Patchwork_9202
> 
>    CI_DRM_4279: c17149502fba5d36314b384bbf43b2b9c93292cf @ git://anongit.freedesktop.org/gfx-ci/linux
>    IGT_4507: 938135f033d7fd79c04a7a042d40f9d074489ffd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>    Patchwork_9202: e2b0099804b3dba0e9683e6a3e1e7855751a7f08 @ git://anongit.freedesktop.org/gfx-ci/linux
> 
> 
> == Linux commits ==
> 
> e2b0099804b3 drm/i915/trace: Context field needs to be 64-bit wide
> 3600d64863f5 drm/i915/trace: Remove engine out of the context sandwich
> 2d2eadc345ba drm/i915/trace: Describe engines as class:instance pairs

Pushed. Now onto IGT updates...

Regards,

Tvrtko

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* ✓ Fi.CI.IGT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2)
  2018-05-25  8:26 [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Tvrtko Ursulin
                   ` (6 preceding siblings ...)
  2018-06-05 14:43 ` ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2) Patchwork
@ 2018-06-05 19:08 ` Patchwork
  7 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2018-06-05 19:08 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2)
URL   : https://patchwork.freedesktop.org/series/43763/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4279_full -> Patchwork_9202_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_9202_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_9202_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/43763/revisions/2/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_9202_full:

  === IGT changes ===

    ==== Warnings ====

    igt@gem_exec_schedule@deep-vebox:
      shard-kbl:          SKIP -> PASS +1

    
== Known issues ==

  Here are the changes found in Patchwork_9202_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_eio@hibernate:
      shard-snb:          PASS -> INCOMPLETE (fdo#105411)

    igt@kms_flip@2x-plain-flip-ts-check:
      shard-hsw:          PASS -> FAIL (fdo#100368) +1
      shard-glk:          PASS -> FAIL (fdo#100368) +2

    igt@kms_flip_tiling@flip-y-tiled:
      shard-glk:          PASS -> FAIL (fdo#104724, fdo#103822)

    
    ==== Possible fixes ====

    igt@drv_selftest@live_gtt:
      shard-kbl:          INCOMPLETE (fdo#103665) -> PASS

    igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing:
      shard-glk:          FAIL (fdo#105703) -> PASS

    igt@kms_flip@2x-flip-vs-expired-vblank:
      shard-glk:          FAIL (fdo#105189) -> PASS

    igt@kms_flip@2x-modeset-vs-vblank-race:
      shard-glk:          FAIL (fdo#103060) -> PASS

    igt@kms_flip@plain-flip-fb-recreate-interruptible:
      shard-glk:          FAIL (fdo#100368) -> PASS

    igt@kms_flip_tiling@flip-to-y-tiled:
      shard-glk:          FAIL (fdo#104724, fdo#103822) -> PASS

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
  fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
  fdo#105189 https://bugs.freedesktop.org/show_bug.cgi?id=105189
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105703 https://bugs.freedesktop.org/show_bug.cgi?id=105703


== Participating hosts (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_4279 -> Patchwork_9202

  CI_DRM_4279: c17149502fba5d36314b384bbf43b2b9c93292cf @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4507: 938135f033d7fd79c04a7a042d40f9d074489ffd @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9202: e2b0099804b3dba0e9683e6a3e1e7855751a7f08 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_9202/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2018-06-05 19:08 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-25  8:26 [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Tvrtko Ursulin
2018-05-25  8:26 ` [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich Tvrtko Ursulin
2018-05-25 10:28   ` Lionel Landwerlin
2018-05-25 10:31     ` Lionel Landwerlin
2018-05-25 12:13     ` Tvrtko Ursulin
2018-05-25 12:23       ` Tvrtko Ursulin
2018-05-25  8:26 ` [PATCH 3/3] drm/i915/trace: Context field needs to be 64-bit wide Tvrtko Ursulin
2018-05-25  8:50   ` Chris Wilson
2018-06-05 13:41     ` [PATCH v2 " Tvrtko Ursulin
2018-06-05 13:47       ` Chris Wilson
2018-05-25  9:10 ` ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs Patchwork
2018-05-25 10:22 ` [PATCH 1/3] " Lionel Landwerlin
2018-05-25 12:56 ` ✓ Fi.CI.IGT: success for series starting with [1/3] " Patchwork
2018-06-05  9:41 ` [PATCH 1/3] " Lionel Landwerlin
2018-06-05 13:43   ` Tvrtko Ursulin
2018-06-05 13:45     ` Lionel Landwerlin
2018-06-05 14:43 ` ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2) Patchwork
2018-06-05 15:48   ` Tvrtko Ursulin
2018-06-05 19:08 ` ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.