[Intel-gfx] [PATCH] drm/i915: Unbind objects in shrinker only if device is runtime active

Mika Kuoppala mika.kuoppala at linux.intel.com
Wed Mar 30 10:32:48 UTC 2016


Chris Wilson <chris at chris-wilson.co.uk> writes:

> [ text/plain ]
> On Wed, Mar 30, 2016 at 01:11:53PM +0300, Mika Kuoppala wrote:
>> From: Praveen Paneri <praveen.paneri at intel.com>
>> 
>> When the system is running low on memory, gem shrinker is invoked.
>> In this process objects will be unbounded from GTT and unbinding process
>> will require access to GTT(GTTADR) and also to fence register potentially.
>> That requires a resume of gfx device, if suspended, in the shrinker path.
>> Considering the power leakage due to intermediate resume, perform unbinding
>> operation only if device is already runtime active.
>> 
>> v2: Using newly implemented intel_runtime_pm_get_if_in_use()
>> 
>> Signed-off-by: Akash Goel <akash.goel at intel.com>
>> Signed-off-by: Praveen Paneri <praveen.paneri at intel.com>
>> Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
>> ---
>>  drivers/gpu/drm/i915/i915_gem_shrinker.c | 12 ++++++++++++
>>  1 file changed, 12 insertions(+)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
>> index d3c473ffb90a..3bc292d626ff 100644
>> --- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
>> +++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
>> @@ -129,6 +129,15 @@ i915_gem_shrink(struct drm_i915_private *dev_priv,
>>  	i915_gem_retire_requests(dev_priv->dev);
>>  
>>  	/*
>> +	 * Unbinding of objects will require HW access; Let us not wake the
>> +	 * device just to recover a little memory. If absolutely necessary,
>> +	 * we will force the wake during oom-notifier.
>> +	 */
>
> The implication was that we would send the companion patch as well!

Missed it, thanks for pointing out.

Will send it as a separate one and combine when merging.

Thanks,
-Mika


> -Chris
>
> -- 
> Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list