apport information ** Attachment added: "ProcModules.txt" https://bugs.launchpad.net/bugs/2122531/+attachment/5918789/+files/ProcModules.txt
-- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/2122531 Title: Turbo boost stuck disabled on Clevo PD5x_7xSNC_SND_SNE Status in linux package in Ubuntu: New Status in linux-hwe-6.14 package in Ubuntu: New Bug description: OS: Kubuntu 24.04.3 LTS Hardware: Clevo PD5x_7xSNC_SND_SNE, Intel i9-14900HX CPU, BIOS version 1.07.17SMIN29 Steps to reproduce: 1. Run `sudo apt install linux-{image,modules,modules-extra,headers,tools}-6.14.0-29-generic`. 2. Boot into the newly installed kernel. 3. Run `echo 0 | sudo tee /sys/device/system/cpu/intel_pstate/no_turbo`. 4. Run `sudo dmesg`. Expected result: The `echo | sudo tee` command should successfully run. `sudo dmesg` should have messages unrelated to intel_pstate displayed at the very end of the log. System performance should be normal. (Note that it is normal to see some "Turbo disabled by BIOS" messages earlier on in the dmesg log, but they stop after a while and turbo boost ends up available.) Actual result: The `echo | sudo tee` command errors out. `sudo dmesg` shows `intel_pstate: Turbo disabled by BIOS or unavailable on processor` at the very end of the log. System performance is dramatically reduced. Additional information: I spent the last couple of days bisecting the Ubuntu kernel. I found that at the tag `Ubuntu-hwe-6.14-6.14.0-15.15_24.04.1`, turbo boost worked, while at the tag `Ubuntu-hwe-6.14-6.14.0-24.24_24.04.1`, turbo boost was broken as described above. Bisecting between them, the first bad commit ended up being: commit 32ac7dd0d507321d19f9ad9d9e81d031635365d7 Author: Srinivas Pandruvada <[email protected]> Date: Tue Apr 29 14:07:11 2025 -0700 cpufreq: intel_pstate: Unchecked MSR aceess in legacy mode BugLink: https://bugs.launchpad.net/bugs/2113881 commit ac4e04d9e378f5aa826c2406ad7871ae1b6a6fb9 upstream. When turbo mode is unavailable on a Skylake-X system, executing the command: # echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo results in an unchecked MSR access error: WRMSR to 0x199 (attempted to write 0x0000000100001300). This issue was reproduced on an OEM (Original Equipment Manufacturer) system and is not a common problem across all Skylake-X systems. This error occurs because the MSR 0x199 Turbo Engage Bit (bit 32) is set when turbo mode is disabled. The issue arises when intel_pstate fails to detect that turbo mode is disabled. Here intel_pstate relies on MSR_IA32_MISC_ENABLE bit 38 to determine the status of turbo mode. However, on this system, bit 38 is not set even when turbo mode is disabled. According to the Intel Software Developer's Manual (SDM), the BIOS sets this bit during platform initialization to enable or disable opportunistic processor performance operations. Logically, this bit should be set in such cases. However, the SDM also specifies that "OS and applications must use CPUID leaf 06H to detect processors with opportunistic processor performance operations enabled." Therefore, in addition to checking MSR_IA32_MISC_ENABLE bit 38, verify that CPUID.06H:EAX[1] is 0 to accurately determine if turbo mode is disabled. Fixes: 4521e1a0ce17 ("cpufreq: intel_pstate: Reflect current no_turbo state correctly") Signed-off-by: Srinivas Pandruvada <[email protected]> Cc: All applicable <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Manuel Diewald <[email protected]> Signed-off-by: Mehmet Basaran <[email protected]> drivers/cpufreq/intel_pstate.c | 3 +++ 1 file changed, 3 insertions(+) This is a simple three-line commit: diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c index 9c4cc01fd51a..43e847e9f741 100644 --- a/drivers/cpufreq/intel_pstate.c +++ b/drivers/cpufreq/intel_pstate.c @@ -598,6 +598,9 @@ static bool turbo_is_disabled(void) { u64 misc_en; + if (!cpu_feature_enabled(X86_FEATURE_IDA)) + return true; + rdmsrl(MSR_IA32_MISC_ENABLE, misc_en); return !!(misc_en & MSR_IA32_MISC_ENABLE_TURBO_DISABLE); It does not appear I am the only individual seeing these symptoms - a user using Arch Linux seems to have experienced this same issue: https://bbs.archlinux.org/viewtopic.php?id=305564 A Gentoo user seems to have run into the same thing: https://forums.gentoo.org/viewtopic-p-8866128.html?sid=e97619cff0d9c79c2eea2cfe8f60b0d3 While it's unclear what hardware the Gentoo user is using, the Arch Linux user seems to be using a very similar machine as to what I'm using (Clevo-based machine with an 19-14900HX). I'm fairly certain this is the firmware's fault, since even when things work, turbo starts out disabled and only ends up enabled later. This seems to be what the Arch Linux user believes as well. That being said, this did used to work acceptably well; maybe a hardware-specific quirk could be added to skip this check on this particular model of Clevo machine? To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2122531/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp

