Chris Wilson <chris at chris-wilson.co.uk> writes: > After kicking a ring, it should be free to make progress again and so > should not be accused of being stuck until hangcheck fires once more. In > order to catch a denial-of-service within a batch or across multiple > batches, we still do increment the hangcheck score - just not as > severely so that it takes multiple kicks to fail. > > This should address part of Ben's justified criticism of > > commit 05407ff889ceebe383aa5907219f86582ef96b72 > Author: Mika Kuoppala <mika.kuoppala at linux.intel.com> > Date: Thu May 30 09:04:29 2013 +0300 > > drm/i915: detect hang using per ring hangcheck_score > > "There's also another corner case on the kick. If the seqno = 2 > (though not stuck), and on the 3rd hangcheck, the ring is stuck, and > we try to kick it... we don't actually try to find out if the kick > helped." > > v2: Make sure we catch DoS attempts with batches full of invalid WAITs. > > References: https://bugs.freedesktop.org/show_bug.cgi?id=65394 > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> > Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com> > Cc: Ben Widawsky <ben at bwidawsk.net> Hopefully Ben will also take a look as he saw exactly what was coming. Reviewed-by: Mika Kuoppala <mika.kuoppala at intel.com>