erpalma / throttled

Workaround for Intel throttling issues in Linux.
MIT License
2.61k stars 158 forks source link

Unable to Overcome Throttling on Surface Pro 4 #329

Open AT-StephenDetomasi opened 1 year ago

AT-StephenDetomasi commented 1 year ago

Howdy folks. As per title, my Surface Pro 4 with the Intel Core i7 6650u is stuck at 1.1Ghz. I have removed the battery as it started swelling. I tried disabling bdprochot and sadly that did not have an effect. Here is the output of throttled debug:

root@at-hv-03:~# ./throttled/throttled.py --debug [I] Detected CPU architecture: Intel Skylake [I] Trying to unlock MSR allow_writes. [I] Testing if undervolt is supported... [I] Testing if HWP is supported... [I] Loading config file. [W] No valid Sysfs_Power_Path found! Trying upower method #1 [W] Trying upower method #2 [W] No valid power detection methods found. Assuming that the system is running on battery power. [D] cpu platform info: maximum non turbo ratio = 22 [D] cpu platform info: maximum efficiency ratio = 4 [D] cpu platform info: minimum operating ratio = 4 [D] cpu platform info: feature ppin cap = 0 [D] cpu platform info: feature programmable turbo ratio = 1 [D] cpu platform info: feature programmable tdp limit = 1 [D] cpu platform info: number of additional tdp profiles = 1 [D] cpu platform info: feature programmable temperature target = 1 [D] cpu platform info: feature low power mode = 1 [W] the configured cTDP profile is not supported by this CPU [W] the configured cTDP profile is not supported by this CPU [D] Undervolt plane CORE - write 0 mV (0x0) - read 0 mV (0x0) - match OK [D] Undervolt plane GPU - write 0 mV (0x0) - read 0 mV (0x0) - match OK [D] Undervolt plane CACHE - write 0 mV (0x0) - read 0 mV (0x0) - match OK [D] Undervolt plane UNCORE - write 0 mV (0x0) - read 0 mV (0x0) - match OK [D] Undervolt plane ANALOGIO - write 0 mV (0x0) - read 0 mV (0x0) - match OK [D] HWP - write "0x20" - read "0x20" - match OK [I] Starting main loop. [D] core 0 thermal status: thermal limit status = 0 [D] core 0 thermal status: thermal limit log = 0 [D] core 0 thermal status: prochot or forcepr status = 0 [D] core 0 thermal status: prochot or forcepr log = 0 [D] core 0 thermal status: crit temp status = 0 [D] core 0 thermal status: crit temp log = 0 [D] core 0 thermal status: thermal threshold1 status = 0 [D] core 0 thermal status: thermal threshold1 log = 0 [D] core 0 thermal status: thermal threshold2 status = 0 [D] core 0 thermal status: thermal threshold2 log = 0 [D] core 0 thermal status: power limit status = 0 [D] core 0 thermal status: power limit log = 0 [D] core 0 thermal status: current limit status = 1 [D] core 0 thermal status: current limit log = 1 [D] core 0 thermal status: cross domain limit status = 0 [D] core 0 thermal status: cross domain limit log = 0 [D] core 0 thermal status: cpu temp = 64 [D] core 0 thermal status: temp resolution = 1 [D] core 0 thermal status: reading valid = 1 [D] core 1 thermal status: thermal limit status = 0 [D] core 1 thermal status: thermal limit log = 0 [D] core 1 thermal status: prochot or forcepr status = 0 [D] core 1 thermal status: prochot or forcepr log = 0 [D] core 1 thermal status: crit temp status = 0 [D] core 1 thermal status: crit temp log = 0 [D] core 1 thermal status: thermal threshold1 status = 0 [D] core 1 thermal status: thermal threshold1 log = 0 [D] core 1 thermal status: thermal threshold2 status = 0 [D] core 1 thermal status: thermal threshold2 log = 0 [D] core 1 thermal status: power limit status = 0 [D] core 1 thermal status: power limit log = 0 [D] core 1 thermal status: current limit status = 1 [D] core 1 thermal status: current limit log = 1 [D] core 1 thermal status: cross domain limit status = 0 [D] core 1 thermal status: cross domain limit log = 0 [D] core 1 thermal status: cpu temp = 63 [D] core 1 thermal status: temp resolution = 1 [D] core 1 thermal status: reading valid = 1 [D] core 2 thermal status: thermal limit status = 0 [D] core 2 thermal status: thermal limit log = 0 [D] core 2 thermal status: prochot or forcepr status = 0 [D] core 2 thermal status: prochot or forcepr log = 0 [D] core 2 thermal status: crit temp status = 0 [D] core 2 thermal status: crit temp log = 0 [D] core 2 thermal status: thermal threshold1 status = 0 [D] core 2 thermal status: thermal threshold1 log = 0 [D] core 2 thermal status: thermal threshold2 status = 0 [D] core 2 thermal status: thermal threshold2 log = 0 [D] core 2 thermal status: power limit status = 0 [D] core 2 thermal status: power limit log = 0 [D] core 2 thermal status: current limit status = 1 [D] core 2 thermal status: current limit log = 1 [D] core 2 thermal status: cross domain limit status = 0 [D] core 2 thermal status: cross domain limit log = 0 [D] core 2 thermal status: cpu temp = 64 [D] core 2 thermal status: temp resolution = 1 [D] core 2 thermal status: reading valid = 1 [D] core 3 thermal status: thermal limit status = 0 [D] core 3 thermal status: thermal limit log = 0 [D] core 3 thermal status: prochot or forcepr status = 0 [D] core 3 thermal status: prochot or forcepr log = 0 [D] core 3 thermal status: crit temp status = 0 [D] core 3 thermal status: crit temp log = 0 [D] core 3 thermal status: thermal threshold1 status = 0 [D] core 3 thermal status: thermal threshold1 log = 0 [D] core 3 thermal status: thermal threshold2 status = 0 [D] core 3 thermal status: thermal threshold2 log = 0 [D] core 3 thermal status: power limit status = 0 [D] core 3 thermal status: power limit log = 0 [D] core 3 thermal status: current limit status = 1 [D] core 3 thermal status: current limit log = 1 [D] core 3 thermal status: cross domain limit status = 0 [D] core 3 thermal status: cross domain limit log = 0 [D] core 3 thermal status: cpu temp = 62 [D] core 3 thermal status: temp resolution = 1 [D] core 3 thermal status: reading valid = 1 [D] TEMPERATURE_TARGET - write 0xf - read 0xf - match OK [D] MSR PACKAGE_POWER_LIMIT - write 0x42816000dd80e8 - read 0x42816000dd80e8 - match OK [D] MCHBAR PACKAGE_POWER_LIMIT - write 0x42816000dd80e8 - read 0x42816000dd80e8 - match OK [D] BDPROCHOT - write "0x0" - read "0x0" - match OK

Any suggestions as to how to circumvent this issue would be greatly appreciated.