[Intel-gfx] [PATCH v2] drm/i915: Postpone fake breadcrumb interrupt until real interrupts cease

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Feb 16 12:15:12 UTC 2017


On 16/02/2017 12:00, Chris Wilson wrote:
> On Thu, Feb 16, 2017 at 11:44:31AM +0000, Tvrtko Ursulin wrote:
>>
>> On 16/02/2017 11:13, Chris Wilson wrote:
>>> When the timer expires for checking on interrupt processing, check to
>>> see if any interrupts arrived within the last time period. If real
>>> interrupts are still being delivered, we can be reassured that we
>>> haven't missed the final interrupt as the waiter will still be woken.
>>> Only once all activity ceases, do we have to worry about the waiter
>>> never being woken and so need to install a timer to kick the waiter for
>>> a slow arrival of a seqno.
>>
>> I prefer this version by far. Especially since it keeps the normal
>> hangcheck period as long as the interrupts are happening.
>>
>> I suppose it could only get foiled if interrupts kept coming but the
>> seqno staying put. Does this sounds like a concern?
>
> The failure condition would be the hw gets stuck sending out
> user-interrupts, even after the rings stop, and the seqno is stuck.
>
> The seqno sticking even though the rings keep running (until the ring is
> empty) is definitely a problem seen in some GPU hangs. But we haven't
> been suceptible to a stuck user-interrupt before so I'm not sure if that
> is feasible. I hope not.

Sounds good to me.

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko



More information about the Intel-gfx mailing list