Linux 3.5 Kernel Power Regression Spotted
Following yesterday's news of a massive power regression within the Linux 3.5 kernel, James Bottomley has uncovered the kernel commit causing excessive power usage.
The cause of this latest Linux kernel power regression in 3.5 compared to Linux 3.4 is 2911a35b2e4eb87ec48d03aeb11f019e51ae3c0d, or more easily it's "drm/i915: use semaphores for the display plane." This commit to the Intel DRM graphics driver for using semaphores for the display plane is what's causing select hardware to burn through much more power than its predecessor.
To the contrary, the commit message for the i915 driver commit actually advertises this kernel change as possibly causing power and performance improvements. "In theory this will have performance and power improvements. Performance because we don't need to stall when the scanout BO is busy, and power because we don't have to stall when the BO is busy (and the ring can even go to sleep if the HW supports it)."
Bottomley mentioned this problematic commit in this mailing list message and now Intel developers are working on figuring out a fix for this non-trivial commit.
The cause of this latest Linux kernel power regression in 3.5 compared to Linux 3.4 is 2911a35b2e4eb87ec48d03aeb11f019e51ae3c0d, or more easily it's "drm/i915: use semaphores for the display plane." This commit to the Intel DRM graphics driver for using semaphores for the display plane is what's causing select hardware to burn through much more power than its predecessor.
To the contrary, the commit message for the i915 driver commit actually advertises this kernel change as possibly causing power and performance improvements. "In theory this will have performance and power improvements. Performance because we don't need to stall when the scanout BO is busy, and power because we don't have to stall when the BO is busy (and the ring can even go to sleep if the HW supports it)."
Bottomley mentioned this problematic commit in this mailing list message and now Intel developers are working on figuring out a fix for this non-trivial commit.
7 Comments