Skip to content

Commit

Permalink
drm/i915/gvt: Remove bogus retry around i915_wait_request
Browse files Browse the repository at this point in the history
commit 8f1117a ("drm/i915/gvt: handle workload lifecycle properly")
includes some nonsense to retry a indefinite wait - i915_wait_request()
does not return until the request is completed when used from an
uninterruptible context.

Fixes: 8f1117a ("drm/i915/gvt: handle workload lifecycle properly"
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chuanxiao Dong <chuanxiao.dong@intel.com>
Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
Cc: Zhi Wang <zhi.a.wang@intel.com>
Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
  • Loading branch information
Chris Wilson authored and Zhenyu Wang committed Mar 17, 2017
1 parent 3f765a3 commit 3dce2ac
Showing 1 changed file with 1 addition and 13 deletions.
14 changes: 1 addition & 13 deletions drivers/gpu/drm/i915/gvt/scheduler.c
Original file line number Diff line number Diff line change
Expand Up @@ -468,19 +468,7 @@ static int workload_thread(void *priv)

gvt_dbg_sched("ring id %d wait workload %p\n",
workload->ring_id, workload);
retry:
i915_wait_request(workload->req,
0, MAX_SCHEDULE_TIMEOUT);
/* I915 has replay mechanism and a request will be replayed
* if there is i915 reset. So the seqno will be updated anyway.
* If the seqno is not updated yet after waiting, which means
* the replay may still be in progress and we can wait again.
*/
if (!i915_gem_request_completed(workload->req)) {
gvt_dbg_sched("workload %p not completed, wait again\n",
workload);
goto retry;
}
i915_wait_request(workload->req, 0, MAX_SCHEDULE_TIMEOUT);

complete:
gvt_dbg_sched("will complete workload %p, status: %d\n",
Expand Down

0 comments on commit 3dce2ac

Please sign in to comment.