[Intel-gfx] [PATCH 3/9] drm/i915: Prevent using semaphores to chain up to external fences

Mika Kuoppala mika.kuoppala at linux.intel.com
Fri May 8 15:44:48 UTC 2020

Chris Wilson <chris at chris-wilson.co.uk> writes:

> 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

I guess this has to be A is before B.

> 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.

Avoiding the hw semaphore makes sense

Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

> -Chris

More information about the Intel-gfx mailing list