]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amdgpu: add cleaner shader trace point
authorChristian König <christian.koenig@amd.com>
Thu, 6 Feb 2025 13:26:30 +0000 (14:26 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 21 Mar 2025 16:16:34 +0000 (12:16 -0400)
Note when the cleaner shader is executed.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index e8147d9a54fcf08b6c6aa27b2c5146196dde0b8d..11dd2e0f797964bd4661e75adc6abed6c5e61dd3 100644 (file)
@@ -474,6 +474,21 @@ TRACE_EVENT(amdgpu_isolation,
                      __entry->next)
 );
 
+TRACE_EVENT(amdgpu_cleaner_shader,
+           TP_PROTO(struct amdgpu_ring *ring, struct dma_fence *fence),
+           TP_ARGS(ring, fence),
+           TP_STRUCT__entry(
+                            __string(ring, ring->name)
+                            __field(u64, seqno)
+                            ),
+
+           TP_fast_assign(
+                          __assign_str(ring);
+                          __entry->seqno = fence->seqno;
+                          ),
+           TP_printk("ring=%s, seqno=%Lu", __get_str(ring), __entry->seqno)
+);
+
 TRACE_EVENT(amdgpu_bo_list_set,
            TP_PROTO(struct amdgpu_bo_list *list, struct amdgpu_bo *bo),
            TP_ARGS(list, bo),
index 21be10d46cf9ce19d6178b6370348eec7a8a5d47..ce52b4d75e9439abc1a8fd309d91111ce398eb5d 100644 (file)
@@ -853,6 +853,7 @@ int amdgpu_vm_flush(struct amdgpu_ring *ring, struct amdgpu_job *job,
         * finish before we push them to the HW.
         */
        if (cleaner_shader_needed) {
+               trace_amdgpu_cleaner_shader(ring, fence);
                mutex_lock(&adev->enforce_isolation_mutex);
                dma_fence_put(isolation->spearhead);
                isolation->spearhead = dma_fence_get(fence);