Message ID | 20231125205438.375407-2-adrian.larumbe@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Panfrost devfreq and GEM status fixes | expand |
On 25/11/2023 20:52, Adrián Larumbe wrote: > A GEM object constructed from a dma-buf imported sgtable should be regarded > as being memory resident, because the dma-buf API mandates backing storage > to be allocated when attachment succeeds. This obviously can cause a bit of double-counting system wide (both the exporter and importer could show the memory usage). But I think we're better off over-counting rather than under-counting. Reviewed-by: Steven Price <steven.price@arm.com> > Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com> > Fixes: 9ccdac7aa822 ("drm/panfrost: Add fdinfo support for memory stats") > Reported-by: Boris Brezillon <boris.brezillon@collabora.com> > --- > drivers/gpu/drm/panfrost/panfrost_gem.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/panfrost/panfrost_gem.c b/drivers/gpu/drm/panfrost/panfrost_gem.c > index 0cf64456e29a..d47b40b82b0b 100644 > --- a/drivers/gpu/drm/panfrost/panfrost_gem.c > +++ b/drivers/gpu/drm/panfrost/panfrost_gem.c > @@ -200,7 +200,7 @@ static enum drm_gem_object_status panfrost_gem_status(struct drm_gem_object *obj > struct panfrost_gem_object *bo = to_panfrost_bo(obj); > enum drm_gem_object_status res = 0; > > - if (bo->base.pages) > + if (bo->base.base.import_attach || bo->base.pages) > res |= DRM_GEM_OBJECT_RESIDENT; > > if (bo->base.madv == PANFROST_MADV_DONTNEED)
diff --git a/drivers/gpu/drm/panfrost/panfrost_gem.c b/drivers/gpu/drm/panfrost/panfrost_gem.c index 0cf64456e29a..d47b40b82b0b 100644 --- a/drivers/gpu/drm/panfrost/panfrost_gem.c +++ b/drivers/gpu/drm/panfrost/panfrost_gem.c @@ -200,7 +200,7 @@ static enum drm_gem_object_status panfrost_gem_status(struct drm_gem_object *obj struct panfrost_gem_object *bo = to_panfrost_bo(obj); enum drm_gem_object_status res = 0; - if (bo->base.pages) + if (bo->base.base.import_attach || bo->base.pages) res |= DRM_GEM_OBJECT_RESIDENT; if (bo->base.madv == PANFROST_MADV_DONTNEED)
A GEM object constructed from a dma-buf imported sgtable should be regarded as being memory resident, because the dma-buf API mandates backing storage to be allocated when attachment succeeds. Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com> Fixes: 9ccdac7aa822 ("drm/panfrost: Add fdinfo support for memory stats") Reported-by: Boris Brezillon <boris.brezillon@collabora.com> --- drivers/gpu/drm/panfrost/panfrost_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)