summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/gvt/scheduler.c
diff options
context:
space:
mode:
authorfred gao2017-09-19 09:11:28 +0200
committerZhenyu Wang2017-11-16 04:46:51 +0100
commite011c6ce2b4fc7c577ade41485d74431a4e6ea1a (patch)
treefaa451deb09b28c1d086f6c44563532f43cc3b4c /drivers/gpu/drm/i915/gvt/scheduler.c
parentdrm/i915/gvt: Change the return type during command scan (diff)
downloadkernel-qcow2-linux-e011c6ce2b4fc7c577ade41485d74431a4e6ea1a.tar.gz
kernel-qcow2-linux-e011c6ce2b4fc7c577ade41485d74431a4e6ea1a.tar.xz
kernel-qcow2-linux-e011c6ce2b4fc7c577ade41485d74431a4e6ea1a.zip
drm/i915/gvt: Add VM healthy check for workload_thread
When a scan error occurs in dispatch_workload, this patch is to check the healthy state and free all the queued workloads before the failsafe mode is entered. Signed-off-by: fred gao <fred.gao@intel.com> Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/gvt/scheduler.c')
-rw-r--r--drivers/gpu/drm/i915/gvt/scheduler.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
index 0771b715f825..02af14023383 100644
--- a/drivers/gpu/drm/i915/gvt/scheduler.c
+++ b/drivers/gpu/drm/i915/gvt/scheduler.c
@@ -634,6 +634,13 @@ complete:
FORCEWAKE_ALL);
intel_runtime_pm_put(gvt->dev_priv);
+ if (ret && (vgpu_is_vm_unhealthy(ret))) {
+ mutex_lock(&gvt->lock);
+ intel_vgpu_clean_execlist(vgpu);
+ mutex_unlock(&gvt->lock);
+ enter_failsafe_mode(vgpu, GVT_FAILSAFE_GUEST_ERR);
+ }
+
}
return 0;
}