[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