Message ID | 20161019081228.25533-1-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 --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");
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(-)