[PATCH 1/4] drm/amdgpu: add the evf attached gem obj resv dump
Liang, Prike
Prike.Liang at amd.com
Wed Apr 16 12:54:03 UTC 2025
[Public]
> From: Koenig, Christian <Christian.Koenig at amd.com>
> Sent: Wednesday, April 16, 2025 7:01 PM
> To: Liang, Prike <Prike.Liang at amd.com>; amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander <Alexander.Deucher at amd.com>
> Subject: Re: [PATCH 1/4] drm/amdgpu: add the evf attached gem obj resv dump
>
> Am 16.04.25 um 10:50 schrieb Prike Liang:
> > This debug dump will help on debugging the evf attached gem obj fence
> > related issue.
>
> That looks like overkill to me and will just massively spam the debug log.
>
> Christian.
>
How about putting the evf attached resv obj dump in a trace point?
Thanks,
Prike
> > Signed-off-by: Prike Liang <Prike.Liang at 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;
More information about the amd-gfx
mailing list