[Intel-gfx] [CI 02/20] drm/i915/shrinker: Flush active on objects before counting

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu May 19 12:14:56 UTC 2016


On 19/05/16 12:32, Chris Wilson wrote:
> As we inspect obj->active to decide how many objects we can shrink (we
> only shrink idle objects), it helps to flush the active lists first
> in order to have a more accurate count of available objects.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>   drivers/gpu/drm/i915/i915_gem_shrinker.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> index 538c30499848..d893014d28fe 100644
> --- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
> +++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
> @@ -265,6 +265,8 @@ i915_gem_shrinker_count(struct shrinker *shrinker, struct shrink_control *sc)
>   	if (!i915_gem_shrinker_lock(dev, &unlock))
>   		return 0;
>
> +	i915_gem_retire_requests(dev_priv);
> +
>   	count = 0;
>   	list_for_each_entry(obj, &dev_priv->mm.unbound_list, global_list)
>   		if (can_release_pages(obj))
>

I can't think of a way this could harm anything and it is giving a more 
up to date count.

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list