Bug 21091 - [i965] Driver produces ~70,000 wakeups/s
Summary: [i965] Driver produces ~70,000 wakeups/s
Status: CLOSED NOTOURBUG
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Jesse Barnes
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-07 10:50 UTC by Anton Ekblad
Modified: 2017-07-24 23:10 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log with KMS and UXA activated (17.88 KB, application/octet-stream)
2009-04-07 10:50 UTC, Anton Ekblad
no flags Details
xorg.conf used when the bug was encountered (1.33 KB, text/plain)
2009-04-07 10:50 UTC, Anton Ekblad
no flags Details

Description Anton Ekblad 2009-04-07 10:50:04 UTC
Created attachment 24648 [details]
Xorg.0.log with KMS and UXA activated

Bug description:
When using UXA and kernel modesetting, running an X session with compiz (or any other software using 3D capabilities,) the driver starts waking the CPU between 50,000 and 80,000 times per second after a while, halving battery life and killing performance enough to make mouse movement choppy.

Another possible symptom of the same bug, is that the driver floods dmesg with "[drm:drm_wait_vblank] *ERROR* failed to acquire vblank counter, -22" messages, starting from the moment of initialization. The wakeups, however, do not start until 2-10 minutes into a session.

System environment:
Chipset: 965GM
Architecture: i686
Driver: 2.6.99.902
X server: 1.6.0
Mesa: 7.4
libdrm: 2.4.5
Kernel: 2.6.29
Distribution: Arch
Machine: ThinkPad X61s
Connector: laptop's build-in LCD

Reproducing steps:
1. Start X session with compositing window manager.
2. Look at dmesg to confirm symptom #2.
3. Wait for several minutes, occasionally running PowerTop to confirm symptom #1.

Additional info:
The wakeups may be stopped for a few minutes by suspending the machine and then waking it. The vblank counter messages, however, are not thwarted by this in the least. Unfortunately, there are no indications that any specific operation triggers the wakeups, as they start occurring different kinds of normal usage.

Turning off kernel mode setting eliminates both symptoms, but makes UXA unusably slow (as in, keystrokes take several seconds to register) with kernel mode setting turned off (should the UXA without KMS slowdown be reported as a separate bug, or is this expected behavior?) Using EXA instead of UXA eliminates both symptoms and does not suffer from the horrible performance observed in the UXA without KMS case.

Changing options, such as turning off tiling mode, turning on framebuffer compression, etc. does not seem to affect the problem.
Comment 1 Anton Ekblad 2009-04-07 10:50:56 UTC
Created attachment 24649 [details]
xorg.conf used when the bug was encountered
Comment 2 Anton Ekblad 2009-04-07 11:10:35 UTC
Further investigation reveals that switching to EXA does in fact NOT mitigate the problem with the wakeups. It does, however, seem to make the bug occur less frequently, and also gets rid of the dmesg flood (which indicates that it's a separate issue - should I file another bug for that one?)
Comment 3 Anton Ekblad 2009-04-16 14:55:12 UTC
Investigating even further, it seems that the bug only occurs when running a kernel built without support for message-signaled interrupts (MSI.) At least I haven't encountered it again since rebuilding the very same kernel, changing only CONFIG_PCI_MSI=y in .config.
Comment 4 termite 2009-05-23 04:04:08 UTC
same problem here.  Enabling MSI in kernel solves it.  Maybe selection i915 should automatically select MSI?
Comment 5 Jesse Barnes 2009-06-23 17:38:31 UTC
No, that's really a distro issue.  Some distros don't want to use MSI generally because it's broken on some chipsets.

Note that the wakeups will occur due to interrupts that the GPU receives when it finishes processing GPU commands.  If you have an app doing rendering in the background that could cause the problem.
Comment 6 Jesse Barnes 2009-08-31 10:15:04 UTC
Sounds like a platform/distro bug then.  MSI is certainly preferred.


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.