Hi, Revisited patchset for guilty context detection. I have tried to take into account all feedback received from RFC series posted earlier. Kreffed contexts are first in the series and the hangcheck triggering using seqnos have been split into multiple smaller patches. -Mika Mika Kuoppala (13): drm/i915: add context parameter to i915_switch_context() drm/i915: reference count for i915_hw_contexts drm/i915: pass seqno to i915_hangcheck_ring_idle drm/i915: track ring progression using seqnos drm/i915: introduce i915_hangcheck_ring_hung drm/i915: detect hang using per ring hangcheck_score drm/i915: remove i915_hangcheck_hung drm/i915: add struct ctx_reset_state drm/i915: add reset_state for hw_contexts drm/i915: mark rings which were waiting when hang happened drm/i915: add batch object and context to i915_add_request() drm/i915: find guilty batch buffer on ring resets drm/i915: refuse to submit more batchbuffers from guilty context drivers/gpu/drm/i915/i915_dma.c | 2 +- drivers/gpu/drm/i915/i915_drv.c | 23 +++++- drivers/gpu/drm/i915/i915_drv.h | 40 +++++++-- drivers/gpu/drm/i915/i915_gem.c | 123 ++++++++++++++++++++++++++-- drivers/gpu/drm/i915/i915_gem_context.c | 90 ++++++++++++++++---- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 23 +++++- drivers/gpu/drm/i915/i915_irq.c | 121 +++++++++++++-------------- drivers/gpu/drm/i915/intel_overlay.c | 5 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +- drivers/gpu/drm/i915/intel_ringbuffer.h | 4 + 10 files changed, 335 insertions(+), 98 deletions(-) -- 1.7.9.5