[Intel-gfx] [PATCH] drm/i915: Check the target has not already completed before waiting on it

Chris Wilson chris at chris-wilson.co.uk
Fri May 3 14:29:34 UTC 2019


Quoting Chris Wilson (2019-05-03 14:52:29)
> When we want to wait for a request to be executed, we first ask if it is
> not on the GPU  as if it's on the gpu, there's no need to wait. However,
> we have to take into account that a request may not be on the GPU
> because it has already completed!
> 
> The window is small due to the numerous preceding checks that our target
> has not yet completed, yet there is still a very small window across the
> kmalloc.

Ok, there's a second part to this problem as this only happens under
preempt-to-busy as it requires the request running in the background and
completing after unsubmission.

> Fixes: e88619646971 ("drm/i915: Use HW semaphores for inter-engine synchronisation on gen8+")
So not required.
-Chris


More information about the Intel-gfx mailing list