* [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.