You are not logged in.

#1 2024-08-15 05:31:55

haigioli
Member
Registered: 2018-09-06
Posts: 87

[SOLVED] Intel i9-14900HX CPU freq throttled no matter what I do

I've got a brand new Linux laptop with a i9-14900HX CPU.  Unfortunately, after getting everything up and running, I can't get it to run anywhere above 2.2GHz.

The intel_pstate module is loaded.  Disabling it doesn't fix the problem.  Changing whatever is available in the BIOS doesn't do anything.  Turning on ignore_ppc=1 doesn't do anything.

I'm completely perplexed at the whole thing.  This CPU should oeak at 5GHz-ish.  I'm not getting anywhere close to that.

When I try to change the cpu freq using cpupower as root, this is what I get:

cpupower frequency-set -f 3.5GHz
Setting cpu: 0
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
   for example because of hardware which cannot be set to a specific frequency
   or because the userspace governor isn't loaded?

This is true of any frequency I try to set.

cpupower frequency-info yields the following:

analyzing CPU 23:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 23
  CPUs which need to have their frequency coordinated by software: 23
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 800 MHz - 1.60 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 800 MHz and 1.60 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 1.56 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

Any hints?

Last edited by haigioli (2024-08-27 20:25:50)

Offline

#2 2024-08-15 10:58:29

haigioli
Member
Registered: 2018-09-06
Posts: 87

Re: [SOLVED] Intel i9-14900HX CPU freq throttled no matter what I do

My dmesg shows:

[   69.767776] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.LPCB.EC.DPT3], AE_NOT_FOUND (20240322/psargs-330)
[   69.767797] ACPI Error: Aborting method \_SB.PC00.LPCB.EC.SEN3._TMP due to previous error (AE_NOT_FOUND) (20240322/psparse-529)
[  102.195022] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.LPCB.EC.DPT3], AE_NOT_FOUND (20240322/psargs-330)
[  102.195057] ACPI Error: Aborting method \_SB.PC00.LPCB.EC.SEN3._TMP due to previous error (AE_NOT_FOUND) (20240322/psparse-529)
[  151.688347] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.LPCB.EC.DPT3], AE_NOT_FOUND (20240322/psargs-330)
[  151.688384] ACPI Error: Aborting method \_SB.PC00.LPCB.EC.SEN3._TMP due to previous error (AE_NOT_FOUND) (20240322/psparse-529)
[  225.074944] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.LPCB.EC.DPT3], AE_NOT_FOUND (20240322/psargs-330)
[  225.074981] ACPI Error: Aborting method \_SB.PC00.LPCB.EC.SEN3._TMP due to previous error (AE_NOT_FOUND) (20240322/psparse-529)
[  225.075005] thermal thermal_zone4: Unable to get temperature, disabling!
[  225.075012] thermal thermal_zone4: Disabled thermal zone with critical trip point

So, sensors?  ACPI issues?

Last edited by haigioli (2024-08-15 11:21:59)

Offline

#3 2024-08-15 18:34:16

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 24,449

Re: [SOLVED] Intel i9-14900HX CPU freq throttled no matter what I do

Check for UEFI updates to get those in any way fixed. FWIW these CPU's have been in the news for instability/potential damaging operation with a microcode patch available since a few days, you really want to make sure you're on the latest UEFI version.

Other than that with such modern HW you might want to look into linux-mainline or so for newer kernel/software support.

Offline

#4 2024-08-16 07:07:52

jack476
Member
Registered: 2016-09-02
Posts: 21

Re: [SOLVED] Intel i9-14900HX CPU freq throttled no matter what I do

Apparently recent iterations of the high-end Intel CPUs integrate two different architectures onto the same die: Some of the physical cores are "efficiency cores", which according to the spec sheet  for your model of CPU are limited to a base clock rate of 1.6GHz, and that is what you're seeing when frequency-info is telling you that frequency is capped to 1.6 GHz. The rest are "performance cores", which have their base clock rate limited to 2.2GHz and are only active when the CPU is under load. The higher boosted clock rates (the ones that go up to 5.8 GHz) are dynamically enabled by Intel Turbo Max on a per-core basis only when needed, power and heat permitting, and that's not directly controllable by the user.

So it may actually be that nothing is wrong, and the CPU is not being throttled. Unless there's an issue with performance, then I wouldn't worry about this.

If throttling is occurring then almost always it's because of temperature, and the higher-end Intel CPUs tend to run very hot. You can monitor the temperature using lm_sensors . If the temperature is consistently above 85 Celsius then throttling is most likely occurring. Unfortunately for a laptop there's not much that you can do about this since the solution is to get a better CPU cooler. If this is happening then you won't be able to increase the clock speed anyway because the CPU won't let you tell it to melt itself. But again, it's nothing to worry about unless there's a problem with underperformance.

Offline

#5 2024-08-16 10:23:59

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 24,449

Re: [SOLVED] Intel i9-14900HX CPU freq throttled no matter what I do

Yeah, maybe recheck frequency-info with the -c all argument and or look at cpupower monitor to see the general frequencies of all cores.

Offline

#6 2024-08-24 20:44:10

haigioli
Member
Registered: 2018-09-06
Posts: 87

Re: [SOLVED] Intel i9-14900HX CPU freq throttled no matter what I do

Thanks for getting back to me on this.

Temperatures all all well within acceptable ranges, below 85 deg, for sure.  I don't think that's the problem.

I've been looking into this quite deeply, as of late.  Long story short:  there's an option in

/sys/devices/system/cpu/intel_pstate/no_turbo

that's set to 1, which tells the cpu to not go turbo on any of the cores - performance cores and efficiency cores alike.  Turn that switch to 0 and all of a sudden you've got access to 5.8GHz on performance and something like 4.2GHz on the efficiency cores to scale to.

So, what no one has been able to answer me on is whether I should even bother with this because on Performance governor, let's say, the intel_pstate driver automatically turns this on or off as needed, or whether this is unusual behaviour and I should write a systemd unit to turn this feature off at boot.

If anyone here has any further insight on this, please let me know.  It's good to know that I can tap into this power when I want, but I hate uncertainty, when it might be a design feature that the kernel takes care of automatically.

Is there a way to test the system to see if throttling automatically turns off?

Your thoughts, experience, and wisdom on this would be greatly appreciated.

Last edited by haigioli (2024-08-24 20:45:40)

Offline

#7 2024-08-25 15:31:12

haigioli
Member
Registered: 2018-09-06
Posts: 87

Re: [SOLVED] Intel i9-14900HX CPU freq throttled no matter what I do

I've written a unit service, like so:

[Unit]
Description=Turn off no_turbo at boot.
After=multi-user.target sddm.service
Requires=sddm.service

[Service]
ExecStart=/bin/sh -c "echo 0 | tee /sys/devices/system/cpu/intel_pstate/no_turbo"

[Install]
WantedBy=multi-user.target

I've enabled it successfully and am able to start it manually after login.  However, it fails to execute at boot on its own, with the following error :

Aug 25 11:14:29 comp sh[1530]: tee: /sys/devices/system/cpu/intel_pstate/no_turbo: Operation not permitted

The .service is placed in /etc/systemd/system, as I think it should.  All other test commands work.  It happens to fail on no_turbo, as others in the sys directory.  But, again, what's confusing is the I can run it at a prompt after login with sudo.  What am I missing here?

Thanks.

Offline

#8 2024-08-26 03:26:03

haigioli
Member
Registered: 2018-09-06
Posts: 87

Re: [SOLVED] Intel i9-14900HX CPU freq throttled no matter what I do

Okay, so I've solved my issue, for the time being with the following two systemd user units:

This first one switches no_turbo attribute in sysfs to 0, but to make sure, there's a restart on failure.  It does so because it may be that no_turbo attribute isn't in sysfs at the time of first starting this service after boot.  Notice that it's wanted by default.target and not graphical-session.target.  This will be important in the next step.  Also, note the tee is run by sudo, which means the user must, in this case, be a sudoer.  You could run this as a system unit to get around this, but I wanted to keep both this part and the next one in the same user sphere of systemd.  The service file is located under ~/.config/systemd/user/noturbo_off.service.

~/.config/systemd/user/noturbo_off.service

[Unit]
Description=Turn off no_turbo at boot.
After=default.target
StartLimitBurst=0

[Service]
Type=oneshot
RestartSec=5
Restart=on-failure
ExecStart=/bin/sh -c "echo 0 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo"

[Install]
WantedBy=default.target

So, after it succeeds in changing the no_turbo attribute to 0, a modified ~/.config/systemd/user/graphical-session.target.wants/cpupower-gui-user.service file is started.  The contents of which are the following:

~/.config/systemd/user/graphical-session.target.wants/cpupower-gui-user.service

[Unit]
Description=Apply cpupower-gui config at user login
After=noturbo-off.service

[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower-gui config

[Install]
WantedBy=graphical-session.target

Now, this is making the assumption that you're using cpupower-gui to run your cpu scaling, but with a little modification, you can do the same with cpupower, but you'd have to run both services on a system level, instead of user.

cpupower-gui-user.service likes to run under graphical-session.target, which means that there would be a cyclic dependency if we put the noturbo-off.service in the same wants category.  That's the reason why it's under default.target.  I'm sorry, I don't know if running this under system instead of user would create such a cyclic dependency if both were under multi-user.target because I haven't tried it yet.

In the end, this might not be an elegant solution, but until the kernel catches up and Insyde H2O BIOS has better and more explicit controls on turbo states, etc., this is a decent solution.

Any further tips and improvements are certainly welcome.

Offline

#9 2024-08-27 20:28:54

haigioli
Member
Registered: 2018-09-06
Posts: 87

Re: [SOLVED] Intel i9-14900HX CPU freq throttled no matter what I do

Until there's a better solution, I'm marking this post as SOLVED, for the time being.

If there's a better solution out there, or if the kernel is known to have been patched to take care of this issue, please, feel free to post about it here.

Offline

Board footer

Powered by FluxBB