drm/sched: use __string in tracepoints
authorChia-I Wu <olvaffe@gmail.com>
Tue, 12 Apr 2022 20:48:09 +0000 (13:48 -0700)
committerAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Tue, 26 Apr 2022 19:11:00 +0000 (15:11 -0400)
Otherwise, ring names are marked [UNSAFE-MEMORY].

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Cc: Rob Clark <robdclark@chromium.org>
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220412204809.824491-2-olvaffe@gmail.com
drivers/gpu/drm/scheduler/gpu_scheduler_trace.h

index 188ae2105d57b8a3ef1e6eb25161809b749f846b..3143ecaaff862864c45a36ee34c62e0b393b8eb4 100644 (file)
@@ -38,7 +38,7 @@ DECLARE_EVENT_CLASS(drm_sched_job,
            TP_STRUCT__entry(
                             __field(struct drm_sched_entity *, entity)
                             __field(struct dma_fence *, fence)
-                            __field(const char *, name)
+                            __string(name, sched_job->sched->name)
                             __field(uint64_t, id)
                             __field(u32, job_count)
                             __field(int, hw_job_count)
@@ -48,14 +48,14 @@ DECLARE_EVENT_CLASS(drm_sched_job,
                           __entry->entity = entity;
                           __entry->id = sched_job->id;
                           __entry->fence = &sched_job->s_fence->finished;
-                          __entry->name = sched_job->sched->name;
+                          __assign_str(name, sched_job->sched->name);
                           __entry->job_count = spsc_queue_count(&entity->job_queue);
                           __entry->hw_job_count = atomic_read(
                                   &sched_job->sched->hw_rq_count);
                           ),
            TP_printk("entity=%p, id=%llu, fence=%p, ring=%s, job count:%u, hw job count:%d",
                      __entry->entity, __entry->id,
-                     __entry->fence, __entry->name,
+                     __entry->fence, __get_str(name),
                      __entry->job_count, __entry->hw_job_count)
 );
 
@@ -86,7 +86,7 @@ TRACE_EVENT(drm_sched_job_wait_dep,
            TP_PROTO(struct drm_sched_job *sched_job, struct dma_fence *fence),
            TP_ARGS(sched_job, fence),
            TP_STRUCT__entry(
-                            __field(const char *,name)
+                            __string(name, sched_job->sched->name)
                             __field(uint64_t, id)
                             __field(struct dma_fence *, fence)
                             __field(uint64_t, ctx)
@@ -94,14 +94,14 @@ TRACE_EVENT(drm_sched_job_wait_dep,
                             ),
 
            TP_fast_assign(
-                          __entry->name = sched_job->sched->name;
+                          __assign_str(name, sched_job->sched->name);
                           __entry->id = sched_job->id;
                           __entry->fence = fence;
                           __entry->ctx = fence->context;
                           __entry->seqno = fence->seqno;
                           ),
            TP_printk("job ring=%s, id=%llu, depends fence=%p, context=%llu, seq=%u",
-                     __entry->name, __entry->id,
+                     __get_str(name), __entry->id,
                      __entry->fence, __entry->ctx,
                      __entry->seqno)
 );