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.
Created attachment 24649 [details] xorg.conf used when the bug was encountered
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?)
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.
same problem here. Enabling MSI in kernel solves it. Maybe selection i915 should automatically select MSI?
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.
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.