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. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx