On 2017.03.08 22:08:08 +0000, Chris Wilson wrote:
> commit 8f1117abb408 ("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: 8f1117abb408 ("drm/i915/gvt: handle workload lifecycle properly"
> Signed-off-by: Chris Wilson <[email protected]>
> Cc: Chuanxiao Dong <[email protected]>
> Cc: Zhenyu Wang <[email protected]>
> Cc: Zhi Wang <[email protected]>
> ---
> drivers/gpu/drm/i915/gvt/scheduler.c | 14 +-------------
> 1 file changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c
> b/drivers/gpu/drm/i915/gvt/scheduler.c
> index cfd9f7a38c27..8024904c0d58 100644
> --- a/drivers/gpu/drm/i915/gvt/scheduler.c
> +++ b/drivers/gpu/drm/i915/gvt/scheduler.c
> @@ -465,19 +465,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",
> -- Applied to gvt-fixes. Thanks! -- Open Source Technology Center, Intel ltd. $gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827
signature.asc
Description: PGP signature
_______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
