[RFC 4/4] drm/amdgpu: Expose special on chip memory pools in fdinfo
Christian König
christian.koenig at amd.com
Mon Oct 28 17:51:33 UTC 2024
Am 24.10.24 um 11:23 schrieb Tvrtko Ursulin:
> From: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
>
> In the past these specialized on chip memory pools were reported as system
> memory (aka 'cpu') which was not correct and misleading. That has since
> been removed so lets make them visible as their own respective memory
> regions.
>
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
> Cc: Christian König <christian.koenig at amd.com>
> Cc: Yunxiang Li <Yunxiang.Li at amd.com>
> Cc: Alex Deucher <alexdeucher at gmail.com>
Of hand looks correct to me, feel free to add my Reviewed-by: Christian
König <christian.koenig at amd.com>
> ---
> It is easy to do but is it worth it I leave to AMD experts to decide.
>
> I gave it a quick spin and have only seen all zeros when running a Steam
> game.
Usage depends on HW generation and use case. IIRC GDS is the most used,
but only in some rare use cases.
The upcoming HW generations will depend quite a bit on doorbells.
Regards,
Christian.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c
> index 7a9573958d87..df2cf5c33925 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c
> @@ -66,6 +66,10 @@ void amdgpu_show_fdinfo(struct drm_printer *p, struct drm_file *file)
> [TTM_PL_VRAM] = "vram",
> [TTM_PL_TT] = "gtt",
> [TTM_PL_SYSTEM] = "cpu",
> + [AMDGPU_PL_GDS] = "gds",
> + [AMDGPU_PL_GWS] = "gws",
> + [AMDGPU_PL_OA] = "oa",
> + [AMDGPU_PL_DOORBELL] = "doorbell",
> };
> unsigned int hw_ip, i;
> int ret;
> @@ -87,12 +91,16 @@ void amdgpu_show_fdinfo(struct drm_printer *p, struct drm_file *file)
>
> drm_printf(p, "pasid:\t%u\n", fpriv->vm.pasid);
>
> - for (i = 0; i < TTM_PL_PRIV; i++)
> + for (i = 0; i < ARRAY_SIZE(pl_name); i++) {
> + if (!pl_name[i])
> + continue;
> +
> drm_print_memory_stats(p,
> &stats[i].drm,
> DRM_GEM_OBJECT_RESIDENT |
> DRM_GEM_OBJECT_PURGEABLE,
> pl_name[i]);
> + }
>
> /* Legacy amdgpu keys, alias to drm-resident-memory-: */
> drm_printf(p, "drm-memory-vram:\t%llu KiB\n",
More information about the amd-gfx
mailing list