diff options
| author | Chris Wilson <[email protected]> | 2016-08-09 16:47:51 +0000 |
|---|---|---|
| committer | Chris Wilson <[email protected]> | 2016-08-10 09:37:35 +0000 |
| commit | 83348ba84ee0d5d4d982e5382bfbc8b2a2d05e75 (patch) | |
| tree | 19ef4651cda72ff05599d075b53ffc9213f6b503 /drivers/gpu/drm/i915/intel_ringbuffer.c | |
| parent | drm/i915: Always mark the writer as also a read for busy ioctl (diff) | |
| download | kernel-83348ba84ee0d5d4d982e5382bfbc8b2a2d05e75.tar.gz kernel-83348ba84ee0d5d4d982e5382bfbc8b2a2d05e75.zip | |
drm/i915: Move missed interrupt detection from hangcheck to breadcrumbs
In commit 2529d57050af ("drm/i915: Drop racy markup of missed-irqs from
idle-worker") the racy detection of missed interrupts was removed when
we went idle. This however opened up the issue that the stuck waiters
were not being reported, causing a test case failure. If we move the
stuck waiter detection out of hangcheck and into the breadcrumb
mechanims (i.e. the waiter) itself, we can avoid this issue entirely.
This leaves hangcheck looking for a stuck GPU (inspecting for request
advancement and HEAD motion), and breadcrumbs looking for a stuck
waiter - hopefully make both easier to understand by their segregation.
v2: Reduce the error message as we now run independently of hangcheck,
and the hanging batch used by igt also counts as a stuck waiter causing
extra warnings in dmesg.
v3: Move the breadcrumb's hangcheck kickstart to the first missed wait.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97104
Fixes: 2529d57050af (waiter"drm/i915: Drop racy markup of missed-irqs...")
Testcase: igt/drv_missed_irq
Signed-off-by: Chris Wilson <[email protected]>
Cc: Joonas Lahtinen <[email protected]>
Cc: Tvrtko Ursulin <[email protected]>
Cc: Mika Kuoppala <[email protected]>
Reviewed-by: Mika Kuoppala <[email protected]>
Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.c')
0 files changed, 0 insertions, 0 deletions
