[Intel-gfx] [PATCH v2] drm/i915: Check for timeout completion when waiting for the rq to submitted

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Feb 9 09:10:12 UTC 2017


On 08/02/2017 18:12, Chris Wilson wrote:
> We first wait for a request to be submitted to hw and assigned a seqno,
> before we can wait for the hw to signal completion (otherwise we don't
> know the hw id we need to wait upon). Whilst waiting for the request to
> be submitted, we may exceed the user's timeout and need to propagate the
> error back.
>
> v2: Make ETIME into an error from wait_for_execute for consistent exit
> handling.
>
> Reported-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Fixes: 4680816be336 ("drm/i915: Wait first for submission, before waiting for request completion")
> Testcase: igt/gem_wait/basic-await
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: <drm-intel-fixes at lists.freedesktop.org> # v4.10-rc1+
> ---
>  drivers/gpu/drm/i915/i915_gem_request.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_request.c b/drivers/gpu/drm/i915/i915_gem_request.c
> index 72b7f7d9461d..f31deeb72703 100644
> --- a/drivers/gpu/drm/i915/i915_gem_request.c
> +++ b/drivers/gpu/drm/i915/i915_gem_request.c
> @@ -1025,8 +1025,13 @@ __i915_request_wait_for_execute(struct drm_i915_gem_request *request,
>  			break;
>  		}
>
> +		if (!timeout) {
> +			timeout = -ETIME;
> +			break;
> +		}
> +
>  		timeout = io_schedule_timeout(timeout);
> -	} while (timeout);
> +	} while (1);
>  	finish_wait(&request->execute.wait, &wait);
>
>  	if (flags & I915_WAIT_LOCKED)
>

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko



More information about the Intel-gfx mailing list