Regression in i915 for 4.11-rc1 - bisected to commit 69df05e11ab8
From: Larry Finger
Date: Thu Mar 23 2017 - 14:19:55 EST
Since kernel 4.11-rc1, my desktop (Plasma5/KDE) has encountered intermittent
hangs with the following information in the logs:
linux-4v1g.suse kernel: [drm] GPU HANG: ecode 7:0:0xf3cffffe, in plasmashell
[1283], reason: Hang on render ring, action: reset
linux-4v1g.suse kernel: [drm] GPU hangs can indicate a bug anywhere in the
entire gfx stack, including userspace.
linux-4v1g.suse kernel: [drm] Please file a _new_ bug report on
bugs.freedesktop.org against DRI -> DRM/Intel
linux-4v1g.suse kernel: [drm] drm/i915 developers can then reassign to the right
component if it's not a kernel issue.
linux-4v1g.suse kernel: [drm] The gpu crash dump is required to analyze gpu
hangs, so please always attach it.
linux-4v1g.suse kernel: [drm] GPU crash dump saved to /sys/class/drm/card0/error
linux-4v1g.suse kernel: drm/i915: Resetting chip after gpu hang
This problem was added to https://bugs.freedesktop.org/show_bug.cgi?id=99380,
but it probably is a different bug, as the OP in that report has problems with
kernel 4.10.x, whereas my problem did not appear until 4.11.
The problem was bisected to commit 69df05e11ab8 ("drm/i915: Simplify releasing
context reference"). The accuracy of the bisection was tested by reverting that
patch in kernel 4.11-rc3. With that change, my kernel has now run for over 17
hours with no problem. Before the reversion, the longest any affected kernel
would run was ~3 hours until a gpu hang was detected.
I admit that I do not understand this driver, but my guess is that this commit
introduced a race condition in the context put.
Thanks,
Larry