[Intel-gfx] [PATCH] drm/i915/shrinker: Only report objects with extra pinned pages as pinned

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Wed Apr 20 08:56:02 UTC 2016


On ke, 2016-04-20 at 08:43 +0100, Chris Wilson wrote:
> When iterating over the bound list, we expect all objects there to have
> their pages pinned (by the bound VMA). So only add those objects with
> additional pin count on their pages as "pinned". These should be those
> objects used for display and hardware access.
> 
> Reported-by: Akash Goel <akash.goel at intel.com>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

> Cc: Akash Goel <akash.goel at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_gem_shrinker.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> index d46388f25e04..4e4fcfa76b4c 100644
> --- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
> +++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> @@ -361,7 +361,7 @@ i915_gem_shrinker_oom(struct notifier_block *nb, unsigned long event, void *ptr)
>  		if (!obj->base.filp)
>  			continue;
>  
> -		if (obj->pages_pin_count)
> +		if (obj->pages_pin_count > num_vma_bound(obj))
>  			pinned += obj->base.size;
>  		else
>  			bound += obj->base.size;
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list