GPU hangs bisected
I noticed some problems with my laptop [1] and was able to identify GPU hangs that were kind of reproducable, i.e. bisect-able; they occur with an external monitor attached and without.
In most cases, I could trigger the hangs by starting an Xfce4 session and then start emacs and two xterms -- the hang probably occurs when the second xterm starts, because of the long delay. In many of the rare other cases I needed to additionally start firefox and immediately start to switch between windows for some time.
I did three bisect sessions and because of the first ones ending in commits that for some reason I doubted to be responsible, I retested previously "good" commits and found them to be bad -- with the exception that it took some more time to trigger GPU hangs. The difficulty for me is that I cannot simply revert the commits my bisect sessions end in, because that would produce conflicts.
So, I should mention that it is still possible that I marked bad commits good, because I simply did not test them long enough to trigger the problem.
Here is the log of my last bisect session:
# bad: [537bd0a159a041fad72d257d755205cef77582e1] Merge tag 'tty-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
# good: [219d54332a09e8d8741c1e1982f5eae56099de85] Linux 5.4
git bisect start '537bd0a159a041fad72d257d755205cef77582e1' 'v5.4' '--'
# good: [59274c7164807d27b24e6c068dfe734f7bea4623] Merge tag 'usb-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
git bisect good 59274c7164807d27b24e6c068dfe734f7bea4623
# bad: [05bd375b6bdede3748023e130990c9b6214fd46a] Merge tag 'for-5.5/io_uring-post-20191128' of git://git.kernel.dk/linux-block
git bisect bad 05bd375b6bdede3748023e130990c9b6214fd46a
# bad: [633aa7e53a66b39b7205d4d2a221cda7eeb087c9] Merge tag 'drm-misc-next-2019-10-31' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
git bisect bad 633aa7e53a66b39b7205d4d2a221cda7eeb087c9
# bad: [89910e62009a9359e6302f7e036a0a4564869cca] Merge tag 'drm-intel-next-2019-10-21' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
git bisect bad 89910e62009a9359e6302f7e036a0a4564869cca
# bad: [23b9e41a3dbdad16266b16d0c16ac629f0b6d732] drm/i915/perf: drop list of streams
git bisect bad 23b9e41a3dbdad16266b16d0c16ac629f0b6d732
# bad: [2e7f76c1e4b6480226cee3f6e358172891012882] drm/i915: s/pipe_config/crtc_state/ in intel_crtc_atomic_check()
git bisect bad 2e7f76c1e4b6480226cee3f6e358172891012882
# bad: [f2690074462bdb99530179f41ae73b45e765b761] drm/i915/selftests: Remove unused __engines_name()
git bisect bad f2690074462bdb99530179f41ae73b45e765b761
# good: [45e9c829ebeaa13b3b999f76963b9920d2147128] drm/i915/tgl/perf: use the same oa ctx_id format as icl
git bisect good 45e9c829ebeaa13b3b999f76963b9920d2147128
# good: [39e2df090c3cdce23a064929333b3be119111765] drm/i915/hdcp: update current transcoder into intel_hdcp
git bisect good 39e2df090c3cdce23a064929333b3be119111765
# bad: [aabbe344dc3ca5f7d8263a02608ba6179e8a4499] drm/i915: Use RCU for unlocked vm_idr lookup
git bisect bad aabbe344dc3ca5f7d8263a02608ba6179e8a4499
# good: [58676af69c2eb1e0202215fcfc1d421f186226ed] drm/i915: unify icp, tgp and mcc irq handling
git bisect good 58676af69c2eb1e0202215fcfc1d421f186226ed
# good: [3dc007fe9b2b256d2779bb9e9a0d372eb1d90643] drm/i915/gtt: Downgrade gen7 (ivb, byt, hsw) back to aliasing-ppgtt
git bisect good 3dc007fe9b2b256d2779bb9e9a0d372eb1d90643
# bad: [c1d143dd2ac8d481500fec4c0d715ff301d2766f] drm/i915: Remove ppgtt->dirty_engines
git bisect bad c1d143dd2ac8d481500fec4c0d715ff301d2766f
# bad: [0b718ba1e884f64dce27c19311dd2859b87e56b9] drm/i915/gtt: Downgrade Cherryview back to aliasing-ppgtt
git bisect bad 0b718ba1e884f64dce27c19311dd2859b87e56b9
# first bad commit: [0b718ba1e884f64dce27c19311dd2859b87e56b9] drm/i915/gtt: Downgrade Cherryview back to aliasing-ppgtt