Last week there was a fix for a “serious performance regression” in the Linux kernel’s power management code that affected some Intel-powered Chromebooks. This week the power management fixes ahead of Linux 6.18-rc4 is addressing another performance regression.
Within the Linux kernel’s CPUidle menu governor was another performance regression that was uncovered going back to the Linux 6.17 kernel. The regression is fortunately now fixed in Linux Git as of yesterday and in time for Linux 6.18-rc4 due out on Sunday.
Doug Smythies reported the regression happening on an Intel Core i5 10600K desktop and tracked it back to the early Linux 6.17 kernels. An 11% throughput performance regression was observed.
Intel engineer and Linux power management subsystem maintainer Rafael Wysocki explained with the patch fixing the regression by selecting the polling state in more cases:
“A throughput regression of 11% introduced by commit 779b1a1cb13a (“cpuidle: governors: menu: Avoid selecting states with too much latency”) has been reported and it is related to the case when the menu governor checks if selecting a proper idle state instead of a polling one makes sense.
In particular, it is questionable to do so if the exit latency of the idle state in question exceeds the predicted idle duration, so add a check for that, which is sufficient to make the reported regression go away, and update the related code comment accordingly.”
That small change was merged by this week’s PM fixes to Linux 6.18 Git.
