[PATCH] drm/i915/gvt: grab runtime pm first for forcewake use

Zhenyu Wang zhenyuw at linux.intel.com
Wed Jun 19 07:03:58 UTC 2019


On 2019.06.18 06:51:38 -0400, Xiaolin Zhang wrote:
> in workload_thread, it should grab runtime pm wakelock and later
> uncore forcewake get will check rpm wakelock held successfully.
> otherwise, sometimes, rpm wakelock not hold and print call trace below:
> 
>  Call Trace:
>   intel_uncore_forcewake_get+0x15/0x20 [i915]
>   workload_thread+0x5f9/0x16f0 [i915]
>   ? __switch_to_asm+0x34/0x70
>   ? __switch_to_asm+0x40/0x70
>   ? __switch_to_asm+0x34/0x70
>   ? __switch_to_asm+0x40/0x70
>   ? __switch_to_asm+0x34/0x70
>   ? __switch_to+0x85/0x3f0
>   ? __switch_to_asm+0x40/0x70
>   ? do_wait_intr_irq+0x90/0x90
>   kthread+0x121/0x140
>   ? intel_vgpu_clean_workloads+0x100/0x100 [i915]
>   ? kthread_park+0x90/0x90
>   ret_from_fork+0x35/0x40
>  --[ end trace 86525f742a02e12c ]--
> 
> Signed-off-by: Xiaolin Zhang <xiaolin.zhang at intel.com>
> ---
>  drivers/gpu/drm/i915/gvt/scheduler.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
> index a1580df..7cfcaf5 100644
> --- a/drivers/gpu/drm/i915/gvt/scheduler.c
> +++ b/drivers/gpu/drm/i915/gvt/scheduler.c
> @@ -1012,6 +1012,8 @@ static int workload_thread(void *priv)
>  				workload->ring_id, workload,
>  				workload->vgpu->id);
>  
> +		intel_runtime_pm_get(gvt->dev_priv);
> +
>  		gvt_dbg_sched("ring id %d will dispatch workload %p\n",
>  				workload->ring_id, workload);
>  
> @@ -1041,6 +1043,7 @@ static int workload_thread(void *priv)
>  			intel_uncore_forcewake_put(&gvt->dev_priv->uncore,
>  					FORCEWAKE_ALL);
>  
> +		intel_runtime_pm_put_unchecked(gvt->dev_priv);
>  		if (ret && (vgpu_is_vm_unhealthy(ret)))
>  			enter_failsafe_mode(vgpu, GVT_FAILSAFE_GUEST_ERR);
>  	}

Looks correct to me.

Reviewed-by: Zhenyu Wang <zhenyuw at linux.intel.com>

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20190619/919c49c9/attachment.sig>


More information about the intel-gvt-dev mailing list