[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