Am 13.02.24 um 16:50 schrieb Pierre-Eric Pelloux-Prayer:
Useful to identify why sdma jobs are submitted.

Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-pra...@amd.com>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_object.c |  2 ++
  drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h  | 16 ++++++++++++++++
  2 files changed, 18 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index 425cebcc5cbf..7219f329d6f0 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -631,6 +631,8 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
            bo->tbo.resource->mem_type == TTM_PL_VRAM) {
                struct dma_fence *fence;
+ trace_amdgpu_bo_clear(bo);
+

Might be better to put this into amdgpu_fill_buffer() since we have other users of that IIRC.

Apart from that looks good to me,
Christian.

                r = amdgpu_fill_buffer(bo, 0, bo->tbo.base.resv, &fence, true);
                if (unlikely(r))
                        goto fail_unreserve;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
index f539b1d00234..e8ea1cfe7027 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
@@ -514,6 +514,22 @@ TRACE_EVENT(amdgpu_bo_move,
                        __entry->new_placement, __entry->bo_size)
  );
+TRACE_EVENT(amdgpu_bo_clear,
+           TP_PROTO(struct amdgpu_bo *bo),
+           TP_ARGS(bo),
+           TP_STRUCT__entry(
+                       __field(struct amdgpu_bo *, bo)
+                       __field(u64, bo_size)
+                       ),
+
+           TP_fast_assign(
+                       __entry->bo      = bo;
+                       __entry->bo_size = amdgpu_bo_size(bo);
+                       ),
+           TP_printk("bo=%p, size=%lld",
+                       __entry->bo, __entry->bo_size)
+);
+
  TRACE_EVENT(amdgpu_ib_pipe_sync,
            TP_PROTO(struct amdgpu_job *sched_job, struct dma_fence *fence),
            TP_ARGS(sched_job, fence),

Reply via email to