All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] drm/amdgpu: add the evf attached gem obj resv dump
@ 2025-04-16  8:50 Prike Liang
  2025-04-16  8:50 ` [PATCH 2/4] drm/amdgpu: set the evf name to identify the userq case Prike Liang
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Prike Liang @ 2025-04-16  8:50 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alexander.Deucher, Christian.Koenig, Prike Liang

This debug dump will help on debugging the evf attached gem obj fence
related issue.

Signed-off-by: Prike Liang <Prike.Liang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c | 13 +++++++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c         |  6 +++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c
index 0075469550b0..7030d721196b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_eviction_fence.c
@@ -86,6 +86,19 @@ amdgpu_eviction_fence_replace_fence(struct amdgpu_eviction_fence_mgr *evf_mgr,
 		if (ret) {
 			DRM_ERROR("Failed to attch new eviction fence\n");
 			goto free_err;
+		} else {
+			struct dma_resv_iter cursor;
+			struct dma_fence *fence;
+			static const char *usage[] = { "kernel", "write", "read", "bookkeep" };
+
+			dma_resv_for_each_fence(&cursor, obj->resv, DMA_RESV_USAGE_READ, fence) {
+				DRM_DEBUG("after attach evf the resv dump usage:%s\n"
+					   "after attach evf name:%s timeline name:%s seq:%lld %ssingned\n",
+					usage[dma_resv_iter_usage(&cursor)],
+					fence->ops->get_driver_name(fence),
+					fence->ops->get_timeline_name(fence), fence->seqno,
+					dma_fence_is_signaled(fence) ? "" : "un");
+			}
 		}
 	}
 
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index d09db052e282..1e73ce30d4d7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -1675,7 +1675,11 @@ u64 amdgpu_bo_print_info(int id, struct amdgpu_bo *bo, struct seq_file *m)
 	amdgpu_bo_print_flag(m, bo, VRAM_CONTIGUOUS);
 	amdgpu_bo_print_flag(m, bo, VM_ALWAYS_VALID);
 	amdgpu_bo_print_flag(m, bo, EXPLICIT_SYNC);
-
+	/* Add the gem obj resv fence dump*/
+	if (dma_resv_trylock(bo->tbo.base.resv)) {
+		dma_resv_describe(bo->tbo.base.resv, m);
+		dma_resv_unlock(bo->tbo.base.resv);
+	}
 	seq_puts(m, "\n");
 
 	return size;
-- 
2.34.1


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

end of thread, other threads:[~2025-04-23  3:26 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-16  8:50 [PATCH 1/4] drm/amdgpu: add the evf attached gem obj resv dump Prike Liang
2025-04-16  8:50 ` [PATCH 2/4] drm/amdgpu: set the evf name to identify the userq case Prike Liang
2025-04-16 11:02   ` Christian König
2025-04-16 12:56     ` Liang, Prike
2025-04-16  8:50 ` [PATCH 3/4] drm/amdgpu: trace the scheduler dependent job fence name Prike Liang
2025-04-16 11:04   ` Christian König
2025-04-16 14:16     ` Liang, Prike
2025-04-17  7:35       ` Christian König
2025-04-16  8:50 ` [PATCH 4/4] drm/amdgpu: free the evf when the attached bo release Prike Liang
2025-04-16 11:07   ` Christian König
2025-04-16 14:47     ` Liang, Prike
2025-04-17  7:39       ` Christian König
2025-04-22  9:14         ` Liang, Prike
2025-04-22  9:27           ` Christian König
2025-04-22 12:39             ` Yadav, Arvind
2025-04-22 13:09               ` Liang, Prike
2025-04-22 13:26                 ` Christian König
2025-04-23  3:25                   ` Liang, Prike
2025-04-16 11:01 ` [PATCH 1/4] drm/amdgpu: add the evf attached gem obj resv dump Christian König
2025-04-16 12:54   ` Liang, Prike
2025-04-16 12:58     ` Christian König

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.