[Intel-gfx] [PATCH] drm/i915/gem: Lazily acquire the device wakeref for freeing objects
Janusz Krzysztofik
janusz.krzysztofik at linux.intel.com
Mon May 4 07:44:01 UTC 2020
On Sun, 2020-05-03 at 18:15 +0100, Chris Wilson wrote:
> We only need the device wakeref on freeing the objects if we have to
> unbind the object from the global GTT, or otherwise update device
> information. If the objects are clean, we never need the wakeref, so
> avoid taking until required.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
> ---
> drivers/gpu/drm/i915/gem/i915_gem_object.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
> index 9d1d0131f7c2..99356c00c19e 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
> @@ -162,9 +162,7 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915,
> struct llist_node *freed)
> {
> struct drm_i915_gem_object *obj, *on;
> - intel_wakeref_t wakeref;
>
> - wakeref = intel_runtime_pm_get(&i915->runtime_pm);
> llist_for_each_entry_safe(obj, on, freed, freed) {
> struct i915_mmap_offset *mmo, *mn;
>
> @@ -224,7 +222,6 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915,
> call_rcu(&obj->rcu, __i915_gem_free_object_rcu);
> cond_resched();
> }
> - intel_runtime_pm_put(&i915->runtime_pm, wakeref);
> }
>
> void i915_gem_flush_free_objects(struct drm_i915_private *i915)
Reviewed-by: Janusz Krzysztofik <janusz.krzysztofik at linux.intel.com>
Thanks,
Janusz
More information about the Intel-gfx
mailing list