drm/i915: Use hangcheck score to find guilty context
authorMika Kuoppala <mika.kuoppala@linux.intel.com>
Thu, 30 Jan 2014 17:04:43 +0000 (19:04 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 4 Feb 2014 10:57:24 +0000 (11:57 +0100)
commitb6b0fac04de9ae9b1559eddf8e9490f3c9a01885
tree9f912bd88ae30b6407400f7d5c8a4882ee0a82a6
parent94825369fe046696c7b472e14f4f76a63956b2d3
drm/i915: Use hangcheck score to find guilty context

With full ppgtt using acthd is not enough to find guilty
batch buffer. We get multiple false positives as acthd is
per vm.

Instead of scanning which vm was running on a ring,
to find corressponding context, use a different, simpler,
strategy of finding batches that caused gpu hang:

If hangcheck has declared ring to be hung, find first non complete
request on that ring and claim it was guilty.

v2: Rebase

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73652
Suggested-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net> (v1)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_ringbuffer.h