dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/sched: use DECLARE_EVENT_CLASS
@ 2022-04-08 20:46 Chia-I Wu
  2022-04-08 20:46 ` [PATCH 2/2] drm/sched: use __string in tracepoints Chia-I Wu
  2022-04-11 15:38 ` [PATCH 1/2] drm/sched: use DECLARE_EVENT_CLASS Andrey Grodzovsky
  0 siblings, 2 replies; 3+ messages in thread
From: Chia-I Wu @ 2022-04-08 20:46 UTC (permalink / raw)
  To: dri-devel; +Cc: David Airlie, Rob Clark

drm_sched_job and drm_run_job have the same prototype.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Cc: Rob Clark <robdclark@chromium.org>
---
 .../gpu/drm/scheduler/gpu_scheduler_trace.h   | 31 +++++--------------
 1 file changed, 7 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h b/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
index 877ce9b127f1..2e6eda920fe1 100644
--- a/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
+++ b/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
@@ -32,7 +32,7 @@
 #define TRACE_SYSTEM gpu_scheduler
 #define TRACE_INCLUDE_FILE gpu_scheduler_trace
 
-TRACE_EVENT(drm_sched_job,
+DECLARE_EVENT_CLASS(drm_sched_job_entity,
 	    TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity),
 	    TP_ARGS(sched_job, entity),
 	    TP_STRUCT__entry(
@@ -59,31 +59,14 @@ TRACE_EVENT(drm_sched_job,
 		      __entry->job_count, __entry->hw_job_count)
 );
 
-TRACE_EVENT(drm_run_job,
+DEFINE_EVENT(drm_sched_job_entity, drm_sched_job,
 	    TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity),
-	    TP_ARGS(sched_job, entity),
-	    TP_STRUCT__entry(
-			     __field(struct drm_sched_entity *, entity)
-			     __field(struct dma_fence *, fence)
-			     __field(const char *, name)
-			     __field(uint64_t, id)
-			     __field(u32, job_count)
-			     __field(int, hw_job_count)
-			     ),
+	    TP_ARGS(sched_job, entity)
+);
 
-	    TP_fast_assign(
-			   __entry->entity = entity;
-			   __entry->id = sched_job->id;
-			   __entry->fence = &sched_job->s_fence->finished;
-			   __entry->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->job_count, __entry->hw_job_count)
+DEFINE_EVENT(drm_sched_job_entity, drm_run_job,
+	    TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity),
+	    TP_ARGS(sched_job, entity)
 );
 
 TRACE_EVENT(drm_sched_process_job,
-- 
2.35.1.1178.g4f1659d476-goog


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

* [PATCH 2/2] drm/sched: use __string in tracepoints
  2022-04-08 20:46 [PATCH 1/2] drm/sched: use DECLARE_EVENT_CLASS Chia-I Wu
@ 2022-04-08 20:46 ` Chia-I Wu
  2022-04-11 15:38 ` [PATCH 1/2] drm/sched: use DECLARE_EVENT_CLASS Andrey Grodzovsky
  1 sibling, 0 replies; 3+ messages in thread
From: Chia-I Wu @ 2022-04-08 20:46 UTC (permalink / raw)
  To: dri-devel; +Cc: David Airlie, Rob Clark

Otherwise, ring names are marked [UNSAFE-MEMORY].

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Cc: Rob Clark <robdclark@chromium.org>
---
 drivers/gpu/drm/scheduler/gpu_scheduler_trace.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h b/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
index 2e6eda920fe1..b5d99df65d93 100644
--- a/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
+++ b/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
@@ -38,7 +38,7 @@ DECLARE_EVENT_CLASS(drm_sched_job_entity,
 	    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_entity,
 			   __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)
 );
-- 
2.35.1.1178.g4f1659d476-goog


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

* Re: [PATCH 1/2] drm/sched: use DECLARE_EVENT_CLASS
  2022-04-08 20:46 [PATCH 1/2] drm/sched: use DECLARE_EVENT_CLASS Chia-I Wu
  2022-04-08 20:46 ` [PATCH 2/2] drm/sched: use __string in tracepoints Chia-I Wu
@ 2022-04-11 15:38 ` Andrey Grodzovsky
  1 sibling, 0 replies; 3+ messages in thread
From: Andrey Grodzovsky @ 2022-04-11 15:38 UTC (permalink / raw)
  To: Chia-I Wu, dri-devel; +Cc: David Airlie, Rob Clark


On 2022-04-08 16:46, Chia-I Wu wrote:
> drm_sched_job and drm_run_job have the same prototype.
>
> Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
> Cc: Rob Clark <robdclark@chromium.org>
> ---
>   .../gpu/drm/scheduler/gpu_scheduler_trace.h   | 31 +++++--------------
>   1 file changed, 7 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h b/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
> index 877ce9b127f1..2e6eda920fe1 100644
> --- a/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
> +++ b/drivers/gpu/drm/scheduler/gpu_scheduler_trace.h
> @@ -32,7 +32,7 @@
>   #define TRACE_SYSTEM gpu_scheduler
>   #define TRACE_INCLUDE_FILE gpu_scheduler_trace
>   
> -TRACE_EVENT(drm_sched_job,
> +DECLARE_EVENT_CLASS(drm_sched_job_entity,


I would just call it drm_sched_job since that what it is.

With that the series is Reviewed-by: Andrey Grodzovsky 
<andrey.grodzovsky@amd.com>

Andrey


>   	    TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity),
>   	    TP_ARGS(sched_job, entity),
>   	    TP_STRUCT__entry(
> @@ -59,31 +59,14 @@ TRACE_EVENT(drm_sched_job,
>   		      __entry->job_count, __entry->hw_job_count)
>   );
>   
> -TRACE_EVENT(drm_run_job,
> +DEFINE_EVENT(drm_sched_job_entity, drm_sched_job,
>   	    TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity),
> -	    TP_ARGS(sched_job, entity),
> -	    TP_STRUCT__entry(
> -			     __field(struct drm_sched_entity *, entity)
> -			     __field(struct dma_fence *, fence)
> -			     __field(const char *, name)
> -			     __field(uint64_t, id)
> -			     __field(u32, job_count)
> -			     __field(int, hw_job_count)
> -			     ),
> +	    TP_ARGS(sched_job, entity)
> +);
>   
> -	    TP_fast_assign(
> -			   __entry->entity = entity;
> -			   __entry->id = sched_job->id;
> -			   __entry->fence = &sched_job->s_fence->finished;
> -			   __entry->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->job_count, __entry->hw_job_count)
> +DEFINE_EVENT(drm_sched_job_entity, drm_run_job,
> +	    TP_PROTO(struct drm_sched_job *sched_job, struct drm_sched_entity *entity),
> +	    TP_ARGS(sched_job, entity)
>   );
>   
>   TRACE_EVENT(drm_sched_process_job,

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

end of thread, other threads:[~2022-04-11 15:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-08 20:46 [PATCH 1/2] drm/sched: use DECLARE_EVENT_CLASS Chia-I Wu
2022-04-08 20:46 ` [PATCH 2/2] drm/sched: use __string in tracepoints Chia-I Wu
2022-04-11 15:38 ` [PATCH 1/2] drm/sched: use DECLARE_EVENT_CLASS Andrey Grodzovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).