[Intel-gfx] [PATCH 3/9] drm/i915: Prevent using semaphores to chain up to external fences
chris at chris-wilson.co.uk
Fri May 8 15:43:49 UTC 2020
Quoting Mika Kuoppala (2020-05-08 16:37:15)
> Chris Wilson <chris at chris-wilson.co.uk> writes:
> > The downside of using semaphores is that we lose metadata passing
> > along the signaling chain. This is particularly nasty when we
> > need to pass along a fatal error such as EFAULT or EDEADLK. For
> > fatal errors we want to scrub the request before it is executed,
> > which means that we cannot preload the request onto HW and have
> > it wait upon a semaphore.
> b is waiting on a, a fails and we want to release b with error?
Yes. B is submitted before A, and if B is relying on A to setup GPU page
tables or other interesting things, we can't let B run if A dies. For
the EDEADLK if B is waiting on A, but then A is submitted with a wait on
B -- we have to untangle that mess.
More information about the Intel-gfx