Summary: | [snb] rc6 hang | ||||||
---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | supercatexpert | ||||
Component: | DRM/Intel | Assignee: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||
Status: | CLOSED INVALID | QA Contact: | Intel GFX Bugs mailing list <intel-gfx-bugs> | ||||
Severity: | major | ||||||
Priority: | medium | ||||||
Version: | XOrg git | ||||||
Hardware: | x86-64 (AMD64) | ||||||
OS: | Linux (All) | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
supercatexpert
2013-03-19 06:52:21 UTC
Created attachment 76738 [details]
Xorg.0.log
i915.i915_enable_rc6=0 will make the problem magically disappear at the price of an extra 9W. (In reply to comment #2) > i915.i915_enable_rc6=0 will make the problem magically disappear at the > price of an extra 9W. I just use the default value of i915.i915_enable_rc6 (-1) on the computer, and this computer is not a laptop so I do not set this parameter. I'm just stating that your hangs are a result of bugs in the rc6 implementation (enabled by default as it saves a lot of power on all systems), and that by disabling rc6 you can avoid these hangs. I'm experiencing this problem on a similar OS with a Lenovo T420. Maybe rc6=-1 should not be the default. But I can't fix the problem even with "i915.semaphores=1 i915.i915_enable_rc6=0 i915.i915_enable_fbc=0 i915.i915_enable_ppgtt=0" and then `echo 0 > powersave` does not help In my case, I can boot up and turning on composition (kwin) triggers it immediately. Without composition, firefox triggers it pretty easily. Eventually I get this: [ 905.161034] [drm:i915_reset] *ERROR* GPU hanging too fast, declaring wedged! [ 905.161039] [drm:i915_reset] *ERROR* Failed to reset chip. And then glxgears segfaults on startup. My bug seems to more closely match #60820. Two patches to try (reboot in between): --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -2570,7 +2570,7 @@ static void gen6_enable_rps(struct drm_device *dev) I915_WRITE(GEN6_RC6_WAKE_RATE_LIMIT, 40 << 16 | 30); I915_WRITE(GEN6_RC6pp_WAKE_RATE_LIMIT, 30); I915_WRITE(GEN6_RC_EVALUATION_INTERVAL, 125000); - I915_WRITE(GEN6_RC_IDLE_HYSTERSIS, 25); + I915_WRITE(GEN6_RC_IDLE_HYSTERSIS, 250); for_each_ring(ring, dev_priv, i) I915_WRITE(RING_MAX_IDLE(ring->mmio_base), 10); and --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -2575,7 +2575,6 @@ static void gen6_enable_rps(struct drm_device *dev) for_each_ring(ring, dev_priv, i) I915_WRITE(RING_MAX_IDLE(ring->mmio_base), 10); - I915_WRITE(GEN6_RC_SLEEP, 0); I915_WRITE(GEN6_RC1e_THRESHOLD, 1000); I915_WRITE(GEN6_RC6_THRESHOLD, 50000); I915_WRITE(GEN6_RC6p_THRESHOLD, 150000); Random patch to try: http://lists.freedesktop.org/archives/intel-gfx/2013-April/027140.html Can you please try with this patch: https://patchwork.kernel.org/patch/2707341/ as it claims to fix some instability with rc6 on SandyBridge? Reporter seems to have dropped off the earth. If that's not the case please test Ken's snb blorp fixes from http://cgit.freedesktop.org/~kwg/mesa/log/?h=snbfixes Note that this is a mesa series, not kernel patches. But it could be that a gpu hang caused by mesa results in your gpu hang. And of course reopen the bug if this still happens on the latest stack. |
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.