Bug 36241 - [Sandybridge] Spurious "*ERROR* Hangcheck timer elapsed... blt ring idle" messages in dmesg when using compiz
Summary: [Sandybridge] Spurious "*ERROR* Hangcheck timer elapsed... blt ring idle" mes...
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: 7.6 (2010.12)
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Chris Wilson
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-14 13:15 UTC by roberth
Modified: 2011-06-18 15:36 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Latencytop screenshot (193.87 KB, image/png)
2011-04-14 13:21 UTC, roberth
no flags Details
dmesg (59.83 KB, text/plain)
2011-04-14 13:21 UTC, roberth
no flags Details
Xorg.0.log (31.64 KB, text/plain)
2011-04-14 13:23 UTC, roberth
no flags Details
Error state 1 (676.17 KB, text/plain)
2011-04-26 21:59 UTC, roberth
no flags Details
Error state 2 (676.17 KB, text/plain)
2011-04-26 22:00 UTC, roberth
no flags Details
portion of the dmesg captured with drm debug (30.84 KB, text/plain)
2011-04-26 22:01 UTC, roberth
no flags Details

Description roberth 2011-04-14 13:15:21 UTC
Forwarding this from launchpad bug #761065
http://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/761065

[Problem]
[Sandybridge] Spurious "*ERROR* Hangcheck timer elapsed... blt ring idle" messages in dmesg when using compiz

[Original Description]
When using unity or a Ubuntu classic session with compiz, there are spurious [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt ring idle [waiting on 9004, at 9004], missed IRQ? visible in dmesg. The display stops updating for a fraction of a second when it happens. This can be forcibly reproduced by doing vblank_mode=0 glxgears with compiz active and it is specific to sandybridge systems. Disabling sync to vblank in compiz doesn't have any effect, and the problem does not happen when using metacity.

The hangcheck messages are gone in 2.6.39-rc3 kernel, but the root problem still remains in that the display updates erratically when it happens.

DistroRelease: Ubuntu 11.04
Package: xserver-xorg-video-intel 2:2.14.0-4ubuntu7
ProcVersionSignature: Ubuntu 2.6.38-8.42-generic 2.6.38.2
Uname: Linux 2.6.38-8-generic i686
NonfreeKernelModules: wl
Architecture: i386
CompizPlugins: [core,bailer,detection,composite,opengl,decor,mousepoll,vpswitch,regex,animation,snap,expo,move,compiztoolbox,place,grid,imgpng,gnomecompat,wall,ezoom,workarounds,staticswitcher,resize,fade,unitymtgrabhandles,scale,session,unityshell]
CompositorRunning: compiz
CurrentDmesg:
 [   20.310859] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt ring idle [waiting on 9004, at 9004], missed IRQ?
 [   32.279371] [drm:i915_hangcheck_ring_idle] *ERROR* Hangcheck timer elapsed... blt ring idle [waiting on 13936, at 13936], missed IRQ?
 [  141.319196] exe (1718): /proc/1718/oom_adj is deprecated, please use /proc/1718/oom_score_adj instead.
DRM.card0.DP.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.DP.2:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.DP.3:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.HDMI.A.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.HDMI.A.2:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.HDMI.A.3:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
DRM.card0.LVDS.1:
 status: connected
 enabled: enabled
 dpms: On
 modes: 1366x768 1366x768
 edid-base64: AP///////wAw5OsCAAAAAAAUAQSQHxF4Cp7lnV9XnCYaUFQAAAABAQEBAQEBAQEBAQEBAQEBWBtWflAADjAkMDUANa4QAAAZPhJWflAADjAkMDUANa4QAAAZAAAA/gBLSjI2MhQxNDBXSDQKAAAAAAAAQTGUAAAAAAEBCiAgAI4=
DRM.card0.VGA.1:
 status: disconnected
 enabled: disabled
 dpms: Off
 modes: 
 edid-base64:
Date: Thu Apr 14 15:45:03 2011
DistUpgraded: Fresh install
DistroCodename: natty
DistroVariant: ubuntu
DkmsStatus:
 bcmwl, 5.100.82.38+bdcom, 2.6.39-020639rc3-generic, i686: installed 
 bcmwl, 5.100.82.38+bdcom, 2.6.38-7-generic, i686: installed 
 bcmwl, 5.100.82.38+bdcom, 2.6.38-8-generic, i686: installed
GraphicsCard:
 Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Dell Device [1028:0493]
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Beta i386 (20110330)
MachineType: Dell Inc. Latitude E6420
ProcEnviron:
 LANGUAGE=en_US:en
 LANG=en_US.UTF-8ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.38-8-generic root=UUID=4eac9a69-2bfe-4b4b-b469-5e6f7a89e0f1 ro quiet splash vt.handoff=7
Renderer: Unknown
SourcePackage: xserver-xorg-video-intel
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 02/25/2011
dmi.bios.vendor: Dell Inc.
dmi.bios.version: X66
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 9
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrX66:bd02/25/2011:svnDellInc.:pnLatitudeE6420:pvr01:rvnDellInc.:rn:rvr:cvnDellInc.:ct9:cvr:
dmi.product.name: Latitude E6420
dmi.product.version: 01
dmi.sys.vendor: Dell Inc.
version.compiz: compiz 1:0.9.4+bzr20110411-0ubuntu1
version.libdrm2: libdrm2 2.4.23-1ubuntu6
version.libgl1-mesa-dri: libgl1-mesa-dri 7.10.2-0ubuntu1
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.10.2-0ubuntu1
version.xserver-xorg: xserver-xorg 1:7.6+4ubuntu3
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.0-0ubuntu4
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-4ubuntu7
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu7
Comment 1 roberth 2011-04-14 13:21:13 UTC
Created attachment 45629 [details]
Latencytop screenshot
Comment 2 roberth 2011-04-14 13:21:51 UTC
Created attachment 45630 [details]
dmesg
Comment 3 roberth 2011-04-14 13:23:37 UTC
Created attachment 45631 [details]
Xorg.0.log
Comment 4 Chris Wilson 2011-04-16 11:37:29 UTC
This is one of those annoying ones that I've yet to see on my system... But the reports are persistent. (Hmm, that latencytop report looks misleading since it will just be waiting upon the mutex_lock and so the real troublemaker is elsewhere.)

The trick to get a useful debug info out of this is to:
$ echo 1 | sudo tee /sys/kernel/debug/dri/0/i915_wedged

[If that kills you machine, first do:
$ echo 0 | sudo tee /sys/module/i915/parameters/reset
]
Comment 5 roberth 2011-04-20 07:52:36 UTC
(In reply to comment #4)
> This is one of those annoying ones that I've yet to see on my system... But the
> reports are persistent. (Hmm, that latencytop report looks misleading since it
> will just be waiting upon the mutex_lock and so the real troublemaker is
> elsewhere.)
> 
> The trick to get a useful debug info out of this is to:
> $ echo 1 | sudo tee /sys/kernel/debug/dri/0/i915_wedged
> 
> [If that kills you machine, first do:
> $ echo 0 | sudo tee /sys/module/i915/parameters/reset
> ]

Sorry about the delay getting back to you on this, I will get the info today but just wanted to mention that the hangcheck messages only seem to happen with semaphores disabled
Comment 6 roberth 2011-04-26 21:59:57 UTC
Created attachment 46104 [details]
Error state 1
Comment 7 roberth 2011-04-26 22:00:25 UTC
Created attachment 46105 [details]
Error state 2
Comment 8 roberth 2011-04-26 22:01:33 UTC
Created attachment 46106 [details]
portion of the dmesg captured with drm debug
Comment 9 roberth 2011-06-17 09:48:45 UTC
This is fixed by "i915: Fix gen6 (SNB) GPU stalling" on the intel-gfx mailing list

https://patchwork.kernel.org/patch/879532/
Comment 10 Eric Anholt 2011-06-18 15:36:16 UTC
Now in Linus master:

commit 498e720b96379d8ee9c294950a01534a73defcf3
Author: Daniel J Blueman <daniel.blueman@gmail.com>
Date:   Fri Jun 17 11:32:19 2011 -0700

    drm/i915: Fix gen6 (SNB) missed BLT ring interrupts.


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.