Message ID | 20241018133308.889-3-Yunxiang.Li@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | rework bo mem stats tracking | expand |
On 18/10/2024 14:33, Yunxiang Li wrote: > 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: a2529f67e2ed ("drm/amdgpu: Use drm_print_memory_stats helper from fdinfo") > Signed-off-by: Yunxiang Li <Yunxiang.Li@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c | 7 ++++--- > drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 1 - > drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 1 - > 3 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c > index 00a4ab082459f..8281dd45faaa0 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c > @@ -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", > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > index 045222b6bd049..2a53e72f3964f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > @@ -1223,7 +1223,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 > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h > index 7260349917ef0..a5653f474f85c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h > @@ -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; LGTM, thanks for fixing it! Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Regards, Tvrtko
Am 18.10.24 um 15:33 schrieb Yunxiang Li: > 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: a2529f67e2ed ("drm/amdgpu: Use drm_print_memory_stats helper from fdinfo") > Signed-off-by: Yunxiang Li <Yunxiang.Li@amd.com> Acked-by: Christian König <christian.koenig@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c | 7 ++++--- > drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 1 - > drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 1 - > 3 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c > index 00a4ab082459f..8281dd45faaa0 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c > @@ -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", > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > index 045222b6bd049..2a53e72f3964f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c > @@ -1223,7 +1223,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 > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h > index 7260349917ef0..a5653f474f85c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h > @@ -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;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c index 00a4ab082459f..8281dd45faaa0 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c @@ -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", diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index 045222b6bd049..2a53e72f3964f 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -1223,7 +1223,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 diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h index 7260349917ef0..a5653f474f85c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h @@ -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;
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: a2529f67e2ed ("drm/amdgpu: Use drm_print_memory_stats helper from fdinfo") Signed-off-by: Yunxiang Li <Yunxiang.Li@amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c | 7 ++++--- drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 1 - 3 files changed, 4 insertions(+), 5 deletions(-)