Bug 75207

Summary: [bisected] GPU hangs due to conditional sends in Metro: Last Light
Product: Mesa Reporter: Tapani Pälli <lemody>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: critical    
Priority: medium CC: eero.t.tamminen, kenneth, mattst88, mengmeng.meng
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: error state information

Description Tapani Pälli 2014-02-19 14:06:11 UTC
Rendering *very slow* with Metro game (or likely also other GL app) with Mesa master, following message seen on console:

[drm:i915_hangcheck_elapsed] *ERROR* stuck on render ring
[drm:i915_set_reset_status] *ERROR* render ring hung inside bo (0x20d86000 ctx 2) at 0x20d87398

bisected to
--- 8< ---
commit d92f593d8776ec157ad0e7fa2ee8c9a17fd744ce
Author: Eric Anholt <eric@anholt.net>
Date:   Thu Feb 13 21:37:50 2014 -0800

    i965/fs: Use conditional sends to do FB writes on HSW+.
    
    This drops the MOVs for header setup, which are totally mis-scheduled.
--- 8< ---

commits before this change work fine.
Comment 1 Tapani Pälli 2014-02-19 14:11:07 UTC
(this on Haswell ULT)
Comment 2 Eero Tamminen 2014-02-19 15:42:09 UTC
Created attachment 94365 [details]
error state information

This is completely reproducible, also e.g. with Trine2.

Both in mine and Tapani's case kernel is default Ubuntu 13.10 one.

Attached is error state snapshot from this:
[ 5296.924257] [drm:i915_hangcheck_elapsed] *ERROR* stuck on render ring
[ 5296.924260] [drm] capturing error event; look for more information in /sys/kernel/debug/dri/0/i915_error_state
[ 5302.910090] [drm:i915_hangcheck_elapsed] *ERROR* stuck on render ring
Comment 3 Eric Anholt 2014-02-28 17:36:54 UTC
Reproduced using trine 2, spent a while trying to make a trace to look at and failed.
Comment 4 Eero Tamminen 2014-03-03 08:33:49 UTC
Reverting the guilty commit from Mesa fixes things also in latest Mesa.
Comment 5 Eric Anholt 2014-03-05 21:39:39 UTC
commit 171ec9585f214c2dff3cfc97acebf5286bb5001d
Author: Eric Anholt <eric@anholt.net>
Date:   Tue Mar 4 15:12:40 2014 -0800

    i965: Fix predicated-send-based discards with MRT.
Comment 6 Tapani Pälli 2014-03-06 08:40:14 UTC
(BTW this was tested also with gt2 and using unigine heaven)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.