Quoting Matthew Brost (2021-10-25 19:34:04)
Hide the guc_id and tail fields, for request trace points, behind CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS Kconfig option. Trace points are ABI (maybe?) so don't change them without kernel developers Kconfig options.
I've pushed the simple fix to eliminate the 'guc_id' field.
In my opinion a separate tracepoint with more information would be a better choice here compared to mutating an existing one.
The idea with LOW_LEVEL_TRACEPOINTS is to make sure there are two sets of tracepoints: one that is quasi stable and the other that is unstable. Mutating the other set when the unstable set is enabled kind of breaks that clean split.
Regards, Joonas
Signed-off-by: Matthew Brost matthew.brost@intel.com
drivers/gpu/drm/i915/i915_trace.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h index 9795f456cccf..4f5238d02b51 100644 --- a/drivers/gpu/drm/i915/i915_trace.h +++ b/drivers/gpu/drm/i915/i915_trace.h @@ -787,6 +787,7 @@ TRACE_EVENT(i915_request_queue, __entry->ctx, __entry->seqno, __entry->flags) );
+#if defined(CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS) DECLARE_EVENT_CLASS(i915_request, TP_PROTO(struct i915_request *rq), TP_ARGS(rq), @@ -816,6 +817,32 @@ DECLARE_EVENT_CLASS(i915_request, __entry->guc_id, __entry->ctx, __entry->seqno, __entry->tail) ); +#else +DECLARE_EVENT_CLASS(i915_request,
TP_PROTO(struct i915_request *rq),
TP_ARGS(rq),
TP_STRUCT__entry(
__field(u32, dev)
__field(u64, ctx)
__field(u16, class)
__field(u16, instance)
__field(u32, seqno)
),
TP_fast_assign(
__entry->dev = rq->engine->i915->drm.primary->index;
__entry->class = rq->engine->uabi_class;
__entry->instance = rq->engine->uabi_instance;
__entry->ctx = rq->fence.context;
__entry->seqno = rq->fence.seqno;
),
TP_printk("dev=%u, engine=%u:%u, ctx=%llu, seqno=%u",
__entry->dev, __entry->class, __entry->instance,
__entry->ctx, __entry->seqno)
+); +#endif
DEFINE_EVENT(i915_request, i915_request_add, TP_PROTO(struct i915_request *rq), -- 2.32.0