diff mbox

[1/2] drm/i915/gvt: Stop checking for impossible interrupts from a kthread

Message ID 20161019081228.25533-1-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson Oct. 19, 2016, 8:12 a.m. UTC
The kthread will not be interrupted, don't even bother checking.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/gvt/scheduler.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

Comments

Zhenyu Wang Oct. 19, 2016, 8:50 a.m. UTC | #1
On 2016.10.19 09:12:27 +0100, Chris Wilson wrote:
> 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>

> ---
>  drivers/gpu/drm/i915/gvt/scheduler.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
> index b15cdf5978a9..4cedd3274da7 100644
> --- a/drivers/gpu/drm/i915/gvt/scheduler.c
> +++ b/drivers/gpu/drm/i915/gvt/scheduler.c
> @@ -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");
> -- 
> 2.9.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
index b15cdf5978a9..4cedd3274da7 100644
--- a/drivers/gpu/drm/i915/gvt/scheduler.c
+++ b/drivers/gpu/drm/i915/gvt/scheduler.c
@@ -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");