You are not logged in.
A) Introduction
B) Details
C) Related Links
A) Introduction
Just like the title says, This CPU cannot turbo boost more than 2GHz, usually when it's under full load 100%.
But It's not caused by overheat throttling(on Linux, it's never exceeded 60degrees).
1) I used to suspect it was a Power Throttling issue but I've tried multiple tools and adjusted the power configuration, doesn't help at all.
(cpupower // tlp // thermald // throttled // power-profiles-daemon // intel-pstate // intel-rapl-msr // x86-energy-perf-policy // s-tui // turbostat disable SecureBoot I still cannot get it working.)
This issue ONLY happens on Linux. All kernel version is affected.(stock, zen, surface).
On Windows, it can boost up to 4.2GHz and 35W without a problem.
------------ not important --------------
This issue has been troubling me for years.
Thanks to Linux not being resources hungry, I could tolerate it.
But with this low frequency, I cannot run a lot of games smoothly due to CPU bottleneck for GTX1060(Mobile), long compiling time.
Due to this issue not being Arch Specific, I didn't try here. Hopefully you guys wouldn't mind.
2) I've already reached out for help on multiple platforms Intel(Community,Emails,Discord), Microsoft(Emails), Reddit, Limmy, TechPowerUp,Github(linux-surface.
I've also made a bug report to Kernel bugzilla.
3) I've Arch, Fedora, Debian installed on my system; I've also tested these distro in Live Environment (Mint, MX, Ubuntu, Nobara, Garuda, CachyOS...) but they all suffer the same issue.
------------ not important --------------
B) Details
Essentially, If I run heavy CPU process(80%), the CPU will throttle down from 2GHz to 1.5GHz or less. (https://github.com/erpalma/throttled says it's current throttling)
4) I tried to run test with stress-ng, s-tui and noticed it's when all cores at high utilization, the CPU throttles.
As shown above, all 8 cores is stressed with s-tui. And when the CPU is limited below 10W Pkg, 1.3GHz while temp not higher than 55C.
On Windows though, the CPU can be function just fine. I use ThrottleStop to limit PL1:22W, PL2:30W
5) I've tried kernel parameters for Intel-pstate from https://wiki.archlinux.org/title/CPU_frequency_scaling#Scaling_drivers.
Active, HWP mode no changes; Passive or disable though, the CPU can boost up to 2.1GHz for a long time but that just it.
6) I've read about MSR, MMIO topics but I think cpupower, intel-rapl combines is doing similar things.
7) I began to suspect It's M$ doing stuff to limit Linux but another Surface Book 2 user who has i5-7300U does not face the same issue I've.
8) I've found multiple cases related to this Intel line processor (Kaby Lake Refresh)[Covering i7-8650u, 8550u, 8665u] on multiple platforms(DELL,Thinkpads..).
https://askubuntu.com/questions/1328008 … untu-20-04
https://askubuntu.com/questions/1329587 … untu-20-04
https://chat.stackexchange.com/rooms/12 … and-igntec
Related Links
9) This is the Surface Kernel Github repo, I opened the first post here
https://github.com/linux-surface/linux- … ssues/1041
10) I've contacted Intel & Microsoft but they either say it's OEM issue or Linux issue. They weren't helpful at all.
https://community.intel.com/t5/Processo … 828#M67367
11) This is the kernel bugzilla report I made
https://bugzilla.kernel.org/show_bug.cgi?id=218212
12) I tried to reached out on other wider platforms but didn't get many answers
https://lemmy.world/post/8883518
https://www.reddit.com/r/linux4noobs/co … /?sort=new
https://www.techpowerup.com/forums/thre … pt.316202/
This is the performance we can normally get:
https://www.reddit.com/r/SurfaceLinux/c … an_get_on/
https://www.reddit.com/r/Surface/commen … cinebench/d4u
Last edited by Ramen_LadyHKG (2024-04-22 14:59:57)
Offline
Hopefully these are enough to covered the issue.
If not I can provide as much as i can. Thank you
I was a little rude dealing with M$, Intel staff. I am sorry
I will try to be more helpful and patient here.
Hopefully we can come up with a solution and help others who suffer the same.
Offline
exactly like this
https://bbs.archlinux.org/viewtopic.php … 8#p2166298
Last edited by Ramen_LadyHKG (2024-04-21 20:27:57)
Offline
Offline
1. Have you updated your firmware with fwupd (including Intel ME) and also microcodes?
2. Your Linux kernel version is outdated today.
3. Why are you using ThrottleStop on Windows? I think you should compare clean Windows and clean Linux benchmarks, without any 3-rd party software.
Last edited by MS-DTYP (2024-05-06 13:19:27)
Offline
1. Have you updated your firmware with fwupd (including Intel ME) and also microcodes?
2. Your Linux kernel version is outdated today.
3. Why are you using ThrottleStop on Windows? I think you should compare clean Windows and clean Linux benchmarks, without any 3-rd party software.
1. Yes, it's up-to-date
2. I opened this post about a month ago, yes it's outdated for now. But I've already updated to the latest 6.9 currently running on my system, the issue pre-exist..
Even if it's outdated on Arch, it's no where near outdated on other distribution.
As I had told, I had already installed multiple distro to test this issue, they all have the same problem.
3. Yes, clean Windows perform normally, scale up to 3.5GHz, 30W at around 90 degrees. I use Throttlestop to test the limit of this machine and I cannot do the same with Linux on this machine.
Offline
You can generally not reach turboboosts on full load stress tests (that's why they're called "turbo" they are reachable under specific lower general load scenarios, not when blasting everything). Stress one core, check whether that reaches boost clocks
Last edited by V1del (2024-05-10 18:18:58)
Online
You can generally not reach turboboosts on full load stress tests (that's why they're called "turbo" they are reachable under specific lower general load scenarios, not when blasting everything). Stress one core, check whether that reaches boost clocks
sorry, my English is not good. I didn't describe clearly in this post.
Let's put it this way.
This i7-8650U capable to run at base clock 1.9Ghz,and up to 2.1GHz with 25W, potentially up 4.2GHz when turbo boost.
On Windows, without any system modification. It operates at 2.5GHz~3.5GHz(All core) when gaming or compiling code consistently (90% CPU avg usage), does not overheat, never thermal throttle, at around 80C~90C, 25W PKG most of the time.
While Linux, it runs around 2.1GHz idle. When iGPU in use(like playing YouTube Video), it drops down to ~900MHz~1.4GHz.
When 90% CPU avg usage, it also drops down to that level.
Does that sounds normal to you?
Last edited by Ramen_LadyHKG (2024-05-11 16:03:13)
Offline
Stress one core, check whether that reaches boost clocks
Yes, when one only core is stressed, it function fairly well.
But you wouldn't run a system with only 1 core of a 4C8T CPU, would you?
https://askubuntu.com/questions/1329587 … untu-20-04
this post explain a little bit better than me.
My situation is similar to that but updating kernel or changing distro didn't solve my problem.
Offline
I can provide any test or info to prove why this is not normal.
Can you give me a suggestion?
Offline
s-tui
Geekbench 6
> **s-tui** is a CLI tool to stress CPU to 100%. You can set the number of cores/threads to stress.
> Running it as root can output the power usage of the system.
>
> My CPU frequency hardstuck below 2GHz when more than 6 threads are at 100% usage.
This is my Geekbench 6 benchmark on Ubuntu and Windows on my Surface Book 2 with i7-8650U.
>
My Surface Pro 5 with i5-7300U is running even faster than my Surface Book 2 with i7-8650U on Linux.
>
https://browser.geekbench.com/user/506131
Last edited by Ramen_LadyHKG (2024-06-11 22:27:24)
Offline
https://github.com/linux-surface/linux- … 2161428267
Holy shit
I'm a fxxking genius
checkpot
I've never seen the frequency indicator up to 3GHz
never seen temp up to 60C
this is the first time I'm happy to see the CPU is hot
---
anyway, so the solution is
write the value to
msr
I had tried
wrmsr
before but I'd never able to find the correct memory address to write to.
So after some digging at
the Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 3B: System Programming Guide, Part 2
https://www.intel.com/content/dam/www/p … manual.pdf
and this kernel issue ticket
https://patchwork.kernel.org/project/li … /#24889996
gave me a hint of the PL4 address is
0x601
i try to read the address value
sudo rdmsr 0x601
it return
78
.
I know it's a hex variable, so in decimal is
120
but I couldn't see any relation to #PL4 limit 15W.
so some more digging went by
I found this
Thanks for the info. I had a look at the code but I cannot see anything obvious why you are being prevented from checking that box. I will look some more but even if you could check this box, it will not be able to help. You need to find a way to unlock the MSR current limit or set it higher.
This register is in units of 1/8 Amps. 208 Amps means that register should contain 1664 which converted to hex is 0x680. Find that hex number and change it to 0x980 and that should give you some more headroom.
https://www.techpowerup.com/forums/thre … st-4738761
so I
15*8
=
120
bomb, checkpot. exactly the same as my current PL4 setting
so I want to test
30
as PL4, 30\*8=240
then, convert it to hex,
240
=
F0
sudo wrmsr 0x601 F0
instantly, the CPU turbo up to 4.0GHz
----
https://github.com/linux-surface/linux- … ssues/1041
almost 2 years, can you believe I've been using this at 2GHz max for that long.
Offline