Re: [RFC 4/4] drm/amdgpu: Expose special on chip memory pools in fdinfo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 24.10.24 um 11:23 schrieb Tvrtko Ursulin:
From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxx>

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@xxxxxxxxxx>
Cc: Christian König <christian.koenig@xxxxxxx>
Cc: Yunxiang Li <Yunxiang.Li@xxxxxxx>
Cc: Alex Deucher <alexdeucher@xxxxxxxxx>

Of hand looks correct to me, feel free to add my Reviewed-by: Christian König <christian.koenig@xxxxxxx>

---
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",




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux