drm/i915/gvt: Remove bogus retry around i915_wait_request
commit8f1117abb4
("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:8f1117abb4
("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>
This commit is contained in:
parent
3f765a3417
commit
3dce2aca02
|
@ -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",
|
||||
|
|
Loading…
Reference in New Issue