drm/i915/trace: Describe engines as class:instance pairs
Subsystems (2)
Tvrtko Ursulin
maintainerPATCH 1/3 drm/i915/trace: Describe engines as class:instance pairs
From: Tvrtko Ursulin <[email protected]>
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)
--- drivers/gpu/drm/i915/i915_trace.h | 107 ++++++++++++++++++------------ 1 file changed, 65 insertions(+), 42 deletions(-)
drivers/gpu/drm/i915/i915_trace.h +65 -42
@@ -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_ */
Signature · 6 lines
2.17.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Tvrtko Ursulin
maintainerPATCH 2/3 drm/i915/trace: Remove engine out of the context sandwich
From: Tvrtko Ursulin <[email protected]>
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)
--- drivers/gpu/drm/i915/i915_trace.h | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-)
drivers/gpu/drm/i915/i915_trace.h +15 -15
@@ -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) );
Signature · 6 lines
2.17.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich
Quoted 7 lines · Tvrtko Ursulin
From: Tvrtko Ursulin <[email protected]>
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.
Quoted 8 lines
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 <[email protected]>Cc Lionel Landwerlin <[email protected]>
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.
Quoted 63 lines
--- drivers/gpu/drm/i915/i915_trace.h | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-)drivers/gpu/drm/i915/i915_trace.h +12
-12@@ -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; ),
drivers/gpu/drm/i915/i915_trace.h TRACE_EVENT(i915_request_wait_begin, · line 850
Quoted 10 lines
drivers/gpu/drm/i915/i915_trace.h +3
-3-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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich
Quoted 11 lines · Lionel Landwerlin
Quoted 10 lines · Tvrtko Ursulin
From: Tvrtko Ursulin <[email protected]>
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.
Quoted 8 lines
Quoted 5 lines
v2:
* Do not consolidate the printk format, just reorder. (Lionel)Signed-off-by Tvrtko Ursulin <[email protected]>Cc Lionel Landwerlin <[email protected]>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.
Quoted 73 lines
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 <[email protected]>Quoted 67 lines
---
drivers/gpu/drm/i915/i915_trace.h| 30 +++++++++++++++---------------1 file changed, 15 insertions(+), 15 deletions(-)drivers/gpu/drm/i915/i915_trace.h +3
-2@@ -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),
Quoted 8 lines
Quoted 2 lines
__entry->flags)
);_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich
In reply to Lionel LandwerlinQuoted 14 lines · Lionel Landwerlin
Quoted 13 lines · Tvrtko Ursulin
From: Tvrtko Ursulin <[email protected]>
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)
Quoted 6 lines
Quoted 2 lines
Signed-off-by Tvrtko Ursulin <[email protected]>Cc Lionel Landwerlin <[email protected]>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.
Quoted 3 lines
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 <[email protected]>
Thanks, now just to find common ground with Chris. :)
Regards,
Tvrtko
Quoted 72 lines
Quoted 72 lines
---
drivers/gpu/drm/i915/i915_trace.h| 30 +++++++++++++++---------------1 file changed, 15 insertions(+), 15 deletions(-)drivers/gpu/drm/i915/i915_trace.h +15
-15@@ -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),
Quoted 8 lines
Quoted 2 lines
drivers/gpu/drm/i915/i915_trace.h +0
-0__entry->flags));
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH 2/3] drm/i915/trace: Remove engine out of the context sandwich
Quoted 16 lines · Tvrtko Ursulin
Quoted 14 lines · Lionel Landwerlin
Quoted 13 lines · Tvrtko Ursulin
From: Tvrtko Ursulin <[email protected]>
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)
Quoted 8 lines
Quoted 6 lines
Quoted 2 lines
Signed-off-by Tvrtko Ursulin <[email protected]>Cc Lionel Landwerlin <[email protected]>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
Quoted 90 lines
Quoted 3 lines
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 <[email protected]>Thanks, now just to find common ground with Chris. :)
Regards,
Tvrtko
Quoted 80 lines
Quoted 73 lines
---
drivers/gpu/drm/i915/i915_trace.h| 30 +++++++++++++++---------------1 file changed, 15 insertions(+), 15 deletions(-)drivers/gpu/drm/i915/i915_trace.h +15
-15@@ -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)Quoted 1 line
);
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Tvrtko Ursulin
maintainerPATCH 3/3 drm/i915/trace: Context field needs to be 64-bit wide
In reply to Tvrtko UrsulinFrom: Tvrtko Ursulin <[email protected]>
Underlaying field is u64 so the tracepoint needs to be as well.
--- drivers/gpu/drm/i915/i915_trace.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
drivers/gpu/drm/i915/i915_trace.h +10 -10
@@ -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),
Signature · 6 lines
2.17.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH 3/3] drm/i915/trace: Context field needs to be 64-bit wide
Quoting Tvrtko Ursulin (2018-05-25 09:26:42)
Quoted 15 lines
From: Tvrtko Ursulin <[email protected]>
Underlaying field is u64 so the tracepoint needs to be as well.
Signed-off-by Tvrtko Ursulin <[email protected]>Suggested-by Chris Wilson <[email protected]>--- drivers/gpu/drm/i915/i915_trace.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)drivers/gpu/drm/i915/i915_trace.h +0
-0
drivers/gpu/drm/i915/i915_trace.h TRACE_EVENT(i915_request_queue, · line 626
Quoted 5 lines
drivers/gpu/drm/i915/i915_trace.h +1
-1@@ -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Tvrtko Ursulin
maintainerPATCH v2 3/3 drm/i915/trace: Context field needs to be 64-bit wide
From: Tvrtko Ursulin <[email protected]>
Underlaying field is u64 so the tracepoint needs to be as well.
v2:
* Re-order binary packet for 64-bit alignment. (Chris Wilson)
--- drivers/gpu/drm/i915/i915_trace.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)
drivers/gpu/drm/i915/i915_trace.h +10 -10
@@ -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),
Signature · 6 lines
2.17.0 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH v2 3/3] drm/i915/trace: Context field needs to be 64-bit wide
Quoting Tvrtko Ursulin (2018-06-05 14:41:24)
Quoted 9 lines
From: Tvrtko Ursulin <[email protected]>
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 <[email protected]>Suggested-by Chris Wilson <[email protected]>
Couldn't see any holes,
-Chris
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs
In reply to Tvrtko Ursulin== Series Details ==
== 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 8 lines · Tvrtko Ursulin
From: Tvrtko Ursulin <[email protected]>
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.
Quoted 7 lines
v2:
* Use u16 for class and instance. (Chris Wilson)Signed-off-by Tvrtko Ursulin <[email protected]>Cc Chris Wilson <[email protected]>Reviewed-by Chris Wilson <[email protected]>
Quoted 255 lines
--- drivers/gpu/drm/i915/i915_trace.h | 107 ++++++++++++++++++------------ 1 file changed, 65 insertions(+), 42 deletions(-)drivers/gpu/drm/i915/i915_trace.h +62
-40@@ -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;
drivers/gpu/drm/i915/i915_trace.h TRACE_EVENT(switch_mm, · line 1009
Quoted 10 lines
drivers/gpu/drm/i915/i915_trace.h +3
-2), -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✓ Fi.CI.IGT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs
In reply to Tvrtko Ursulin== Series Details ==
== 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Any update on this series?
(my comments were a bit fuzzy, but I gave Rb on patch 1 & 2).
Cheers,
-
Lionel
Quoted 270 lines · Tvrtko Ursulin
From: Tvrtko Ursulin <[email protected]>
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 <[email protected]>Cc Chris Wilson <[email protected]>Reviewed-by Chris Wilson <[email protected]>--- drivers/gpu/drm/i915/i915_trace.h | 107 ++++++++++++++++++------------ 1 file changed, 65 insertions(+), 42 deletions(-)drivers/gpu/drm/i915/i915_trace.h +62
-40@@ -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;
drivers/gpu/drm/i915/i915_trace.h TRACE_EVENT(switch_mm, · line 1009
Quoted 10 lines
drivers/gpu/drm/i915/i915_trace.h +3
-2), -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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 3 lines · Lionel Landwerlin
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
Quoted 273 lines
Cheers,
-
LionelQuoted 266 lines · Tvrtko Ursulin
From: Tvrtko Ursulin <[email protected]>
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 <[email protected]>Cc Chris Wilson <[email protected]>Reviewed-by Chris Wilson <[email protected]>---
drivers/gpu/drm/i915/i915_trace.h| 107 ++++++++++++++++++------------1 file changed, 65 insertions(+), 42 deletions(-)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)
);drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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,drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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,drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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;drivers/gpu/drm/i915/i915_trace.h +4
-4@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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) );drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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,drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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,drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)
Quoted 8 lines
Quoted 2 lines
);
#endif /* _I915_TRACE_H_ */_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 9 lines · Tvrtko Ursulin
Quoted 3 lines · Lionel Landwerlin
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
Quoted 293 lines
Regards,
Tvrtko
Quoted 287 lines
Cheers,
-
LionelQuoted 266 lines · Tvrtko Ursulin
From: Tvrtko Ursulin <[email protected]>
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 <[email protected]>Cc Chris Wilson <[email protected]>Reviewed-by Chris Wilson <[email protected]>---
drivers/gpu/drm/i915/i915_trace.h| 107
++++++++++++++++++------------1 file changed, 65 insertions(+), 42 deletions(-)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)
);drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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,drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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,drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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;drivers/gpu/drm/i915/i915_trace.h +4
-4@@ -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,
drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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) );drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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,drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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)drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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,drivers/gpu/drm/i915/i915_trace.h +0
-0@@ -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; ),Quoted 8 lines
- 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2)
In reply to Tvrtko Ursulin== Series Details ==
== 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: ✓ Fi.CI.BAT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2)
Quoted 68 lines · Patchwork
== 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_9202CI_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
Quoted 5 lines
== Linux commits ==
e2b0099804b3drm/i915/trace: Context field needs to be 64-bit wide3600d64863f5drm/i915/trace: Remove engine out of the context sandwich2d2eadc345badrm/i915/trace: Describe engines as class:instance pairs
Pushed. Now onto IGT updates...
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✓ Fi.CI.IGT: success for series starting with [1/3] drm/i915/trace: Describe engines as class:instance pairs (rev2)
In reply to Tvrtko Ursulin== Series Details ==
== 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx