Summary: | [IVB]GPU hang when running 3D games like openarena | ||
---|---|---|---|
Product: | Mesa | Reporter: | meng <mengmeng.meng> |
Component: | Drivers/DRI/i965 | Assignee: | Kenneth Graunke <kenneth> |
Status: | VERIFIED FIXED | QA Contact: | zhao jian <jian.j.zhao> |
Severity: | critical | ||
Priority: | high | CC: | bo.b.wang, jbarnes, kenneth |
Version: | 7.11 | ||
Hardware: | All | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Xorg.log
i915_error_state.tar.gz dmesg Patch to fix the GPU hangs by emitting depth stalls. |
Description
meng
2011-06-30 22:05:50 UTC
Created attachment 48634 [details]
Xorg.log
Created attachment 48635 [details]
i915_error_state.tar.gz
Created attachment 48636 [details]
dmesg
First there is the missed IRQ issue, which will need the same workarounds as SNB, or a real fix. ;-) But there is also a genuine GPU hang... When enable semaphores, no "missed IRQ" issue, but GPU still hang on IVB. Does the hang occur every time, or is it intermittent? In my own testing, I found that OA hung once in a while, but usually worked fine... Nevermind, I can reproduce it consistently now. Must be a recent occurance. Looking into it. Test commit 2b1ecb7337592a7bf0989efac46a5b52daab769e,the problem still exists. This still occurs with Ivybridge C0 hardware. To clarify: this is a software bug in our driver. I haven't had time to analyze it further. Created attachment 50936 [details] [review] Patch to fix the GPU hangs by emitting depth stalls. With the attached patch, OpenArena no longer hangs my Ivybridge system. (In reply to comment #11) > Created an attachment (id=50936) [details] > Patch to fix the GPU hangs by emitting depth stalls. > With the attached patch, OpenArena no longer hangs my Ivybridge system. Hi Ken, With your patch on IvyBridge C0, all the 3D games(openarena, urbanterror and nexuiz) will no longer make GPU hang though there is still some error message in dmesg like: [drm:i915_hangcheck_elapsed] *ERROR* Hangcheck timer elapsed... GPU hung [drm:i915_wait_request] *ERROR* i915_wait_request returns -11 (awaiting 437 at 431, next 444) But with this patch on some other IvyBridge machines, openarena will also work well without GPU hang but other games like urbanterror will make system hang. commit 8bd27a5b080157cb1d5fc0383ce45574c7b16aa5 Author: Kenneth Graunke <kenneth@whitecape.org> Date: Thu Sep 1 04:18:20 2011 -0700 i965: Emit depth stalls and flushes before changing depth state on Gen6+. Fixes OpenArena on Gen7. Technically, adding only the first depth stall fixes it, but the documentation says to do all three, and the Windows driver seems to do it. Not observed to fix anything on Gen6 yet. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38863 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> It sounds like OpenArena is working now. Jian, feel free to open bug reports for other games, but I'd prefer to track those as separate issues. (In reply to comment #13) > commit 8bd27a5b080157cb1d5fc0383ce45574c7b16aa5 > Author: Kenneth Graunke <kenneth@whitecape.org> > Date: Thu Sep 1 04:18:20 2011 -0700 > i965: Emit depth stalls and flushes before changing depth state on Gen6+. > Fixes OpenArena on Gen7. Technically, adding only the first depth stall > fixes it, but the documentation says to do all three, and the Windows > driver seems to do it. > Not observed to fix anything on Gen6 yet. > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38863 > Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> > Reviewed-by: Eric Anholt <eric@anholt.net> > It sounds like OpenArena is working now. Jian, feel free to open bug reports > for other games, but I'd prefer to track those as separate issues. With the newest code on master branch and kernel 3.1.0-rc6 on -next branch, there is no GPU hang now. Ken, can you also apply it to 7.11 branch? let's leave it open until it's fixed on 7.11 branch. commit 38dfedccb2a2b695a600350a75113e8c35683498 Author: Kenneth Graunke <kenneth@whitecape.org> Date: Thu Sep 1 04:18:20 2011 -0700 i965: Emit depth stalls and flushes before changing depth state on Gen6+. Fixes OpenArena on Gen7. Technically, adding only the first depth stall fixes it, but the documentation says to do all three, and the Windows driver seems to do it. Not observed to fix anything on Gen6 yet. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38863 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> (cherry picked from commit 02c4dc807e91640c69c8addc3c797300a3c536ad) Jian, can you help verifying this bug? Verified with the above commit git-38dfedc. |
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.