This week’s round of power management fixes for the in-development Linux 6.17 kernel are on the more notable side with fixes for both AMD and Intel P-State drivers plus addressing a system hibernation issue that could lead to “serious breakage” and stems from a Linux 6.16 regression.
Intel engineer and power management subsystem maintainer Rafael Wysocki kicked off this week’s power management pull request by noting a fix for a “nasty hibernation regression introduced during the 6.16 cycle.” The fix elaborates on that nasty regression and ends up being a one-liner to resolve. Wysocki explained in that commit:
“Commit 12ffc3b1513e (“PM: Restrict swap use to later in the suspend sequence”) incorrectly removed a pm_restrict_gfp_mask() call from hibernation_snapshot(), so memory allocations involving swap are not prevented from being carried out in this code path any more which may lead to serious breakage.
The symptoms of such breakage have become visible after adding a shrink_shmem_memory() call to hibernation_snapshot() in commit 2640e819474f (“PM: hibernate: shrink shmem pages after dev_pm_ops.prepare()”) which caused this problem to be much more likely to manifest itself.
However, since commit 2640e819474f was initially present in the DRM tree that did not include commit 12ffc3b1513e, the symptoms of this issue were not visible until merge commit 260f6f4fda93 (“Merge tag ‘drm-next-2025-07-30’ of https://gitlab.freedesktop.org/drm/kernel”) that exposed it through an entirely reasonable merge conflict resolution.”
The issue was brought to light a few days ago in a bug report:
“The issue here is that as of 6.17.0-rc1, running hibernate (disk) more than 7 times causes instability on most machines. The hibernate can be run with /sys/power/disk set to any value. The issue is the hibernate image itself becoming corrupted. The instability appears in user space as the timeout and failure of any or all of these commands:
sudo systemctl is-active systemd-journald
sudo shutdown
sudo reboot
sudo -i exitThe system cannot be soft shutdown or rebooted, it has to be power cycled. I believe the init process memory itself is corrupted and thus anything that goes through the init process times out.”
In addition to fixing that hibernation regression, there are also a few fixes too for the Intel and AMD P-State CPU frequency scaling drivers:
– Fix setting of CPPC.min_perf in the active mode with performance governor in the amd-pstate driver to restore its expected behavior changed recently (Gautham Shenoy)
– Avoid mistakenly setting EPP to 0 in the amd-pstate driver after system resume as a result of recent code changes (Mario Limonciello)”
Those fixes in the pull request were merged on Thursday ahead of the Linux 6.17-rc6 release coming on Sunday.