drm/i915/gvt: Stop checking for impossible interrupts from a kthread
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 19 Oct 2016 10:11:43 +0000 (11:11 +0100)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Thu, 20 Oct 2016 09:31:33 +0000 (17:31 +0800)
The kthread will not be interrupted, don't even bother checking.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
drivers/gpu/drm/i915/gvt/scheduler.c

index 3c2d8e9b2d3fae3cb0586d65bd2e8d9efe137483..9c508c307ff0be7a39acd55cd7d58cd4cc012cab 100644 (file)
@@ -423,12 +423,7 @@ static int workload_thread(void *priv)
                /*
                 * Always take i915 big lock first
                 */
-               ret = i915_mutex_lock_interruptible(&gvt->dev_priv->drm);
-               if (ret < 0) {
-                       gvt_err("i915 submission is not available, retry\n");
-                       schedule_timeout(1);
-                       continue;
-               }
+               mutex_lock(&gvt->dev_priv->drm.struct_mutex);
 
                gvt_dbg_sched("ring id %d will dispatch workload %p\n",
                                workload->ring_id, workload);
@@ -447,7 +442,7 @@ static int workload_thread(void *priv)
                                workload->ring_id, workload);
 
                workload->status = i915_wait_request(workload->req,
-                                                    I915_WAIT_INTERRUPTIBLE | I915_WAIT_LOCKED,
+                                                    I915_WAIT_LOCKED,
                                                     NULL, NULL);
                if (workload->status != 0)
                        gvt_err("fail to wait workload, skip\n");