Re: [PATCH 3/4] drm/i915: Skip cancelled requests in flight

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 08, 2017 at 11:40:09AM +0000, Chris Wilson wrote:
> @@ -486,6 +503,10 @@ submit_notify(struct i915_sw_fence *fence, enum i915_sw_fence_notify state)
>  	switch (state) {
>  	case FENCE_COMPLETE:
>  		trace_i915_gem_request_submit(request);
> +		if (unlikely(fence->error == -EIO)) {
> +			i915_gem_request_skip(request);
> +			dma_fence_set_error(&request->fence, fence->error);
> +		}

Hmm. This expects the GPU to recover before third party fences complete.
First party completion will propagate the -EIO, but still we submit to a
wedged gpu.

Needs a
		if (i915_terminally_wedged(request->i915)) {
			dma_fence_set_error(-EIO);
			i915_gem_request_submit(request);
			intel_engine_init_global_seqno(request->engine, request->global_seqno);
		} else
>  		request->engine->submit_request(request);
>  		break;

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux