[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 12:45:45 UTC 2018


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 ;)
-Chris


More information about the Intel-gfx mailing list