drm/amdgpu: make drm-memory-* report resident memory
authorYunxiang Li <Yunxiang.Li@amd.com>
Thu, 24 Oct 2024 09:23:38 +0000 (10:23 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 4 Nov 2024 16:30:58 +0000 (11:30 -0500)
The old behavior reports the resident memory usage for this key and the
documentation say so as well. However this was accidentally changed to
include buffers that was evicted.

Fixes: 04bdba46542c ("drm/amdgpu: Use drm_print_memory_stats helper from fdinfo")
Signed-off-by: Yunxiang Li <Yunxiang.Li@amd.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h

index 00a4ab0..8281dd4 100644 (file)
@@ -33,6 +33,7 @@
 #include <drm/amdgpu_drm.h>
 #include <drm/drm_debugfs.h>
 #include <drm/drm_drv.h>
+#include <drm/drm_file.h>
 
 #include "amdgpu.h"
 #include "amdgpu_vm.h"
@@ -95,11 +96,11 @@ void amdgpu_show_fdinfo(struct drm_printer *p, struct drm_file *file)
 
        /* Legacy amdgpu keys, alias to drm-resident-memory-: */
        drm_printf(p, "drm-memory-vram:\t%llu KiB\n",
-                  stats[TTM_PL_VRAM].total/1024UL);
+                  stats[TTM_PL_VRAM].drm.resident/1024UL);
        drm_printf(p, "drm-memory-gtt: \t%llu KiB\n",
-                  stats[TTM_PL_TT].total/1024UL);
+                  stats[TTM_PL_TT].drm.resident/1024UL);
        drm_printf(p, "drm-memory-cpu: \t%llu KiB\n",
-                  stats[TTM_PL_SYSTEM].total/1024UL);
+                  stats[TTM_PL_SYSTEM].drm.resident/1024UL);
 
        /* Amdgpu specific memory accounting keys: */
        drm_printf(p, "amd-memory-visible-vram:\t%llu KiB\n",
index 1e6a044..d41686a 100644 (file)
@@ -1224,7 +1224,6 @@ void amdgpu_bo_get_memory(struct amdgpu_bo *bo,
 
        /* DRM stats common fields: */
 
-       stats[type].total += size;
        if (drm_gem_object_is_shared_for_memory_stats(obj))
                stats[type].drm.shared += size;
        else
index 7260349..a5653f4 100644 (file)
@@ -142,7 +142,6 @@ struct amdgpu_bo_vm {
 struct amdgpu_mem_stats {
        struct drm_memory_stats drm;
 
-       uint64_t total;
        uint64_t visible;
        uint64_t evicted;
        uint64_t evicted_visible;