[Intel-gfx] [PATCH] drm/i915/execlists: Skip lite restore on the currently executing request

Chris Wilson chris at chris-wilson.co.uk
Wed Apr 25 13:14:13 UTC 2018


Quoting Chris Wilson (2018-04-25 13:45:45)
> Quoting Chris Wilson (2018-04-25 12:31:29)
> > Quoting Chris Wilson (2018-04-25 12:23:30)
> > > Quoting Mika Kuoppala (2018-04-25 12:19:08)
> > > > Did you try with WA_TAIL_DWORDS 16?
> > > 
> > > Sure can try, but the error state doesn't indicate TAIL==HEAD as would
> > > be the issue with WaIdleLiteRestore (restoring to an idle ring wouldn't
> > > generate the arbitration event, so no more context switches).
> > 
> > Watch https://patchwork.freedesktop.org/series/42284/
> > 
> > Actually surviving on my bdw
> 
> And what appears to work just as well is
> 
> @@ -1387,7 +1387,7 @@  static int execlists_request_alloc(struct i915_request *request)
>          */
>         request->reserved_space += EXECLISTS_REQUEST_SIZE;
>  
> -       ret = intel_ring_wait_for_space(request->ring, request->reserved_space);
> +       ret = intel_ring_cacheline_align(request);
>         if (ret)
>                 return ret;
> 
> If that doesn't hint towards some weirdness in HW, I don't know what
> would ;)

Fwiw, I've now hit GPU hangs with WA_TAIL_DWORDS set to 16 and with the
cacheline_align; scratch that theory.
-Chris


More information about the Intel-gfx mailing list