Re: [PATCH] drm/i915: Do a lightweight pm_get() from intel_mark_busy()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 24, 2015 at 09:09:03AM +0100, Chris Wilson wrote:
> Akash noticed that we were recursing from the call to
> intel_runtime_pm_get() inside intel_mark_busy() when we were already
> waking the device (through another intel_runtime_pm_get()). In
> intel_mark_busy() we know the device is awake and purpose of the
> reference here is to simply keep the device awake until the GPU is idle
> again. As such we do not need the full resume, and can call the lighter
> intel_runtime_pm_get_noresume() instead.

How does that happen? I only see a mark_busy in add_request, and we
shouldn't call that from intel_rpm_get(). Or do we? Calltrace of how this
happens would be great.
-Daniel

> 
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: Akash Goel <akash.goel@xxxxxxxxx>
> Cc: Imre Deak <imre.deak@xxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a43abc38af90..da0d882cc71e 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -10668,7 +10668,7 @@ void intel_mark_busy(struct drm_device *dev)
>  	if (dev_priv->mm.busy)
>  		return;
>  
> -	intel_runtime_pm_get(dev_priv);
> +	intel_runtime_pm_get_noresume(dev_priv);
>  	intel_rps_busy(dev_priv);
>  	dev_priv->mm.busy = true;
>  }
> -- 
> 2.1.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux