thermald often limits CPU frequency while on AC
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
thermald (Ubuntu) |
In Progress
|
Medium
|
koba |
Bug Description
I'm not entirely sure if this is a thermald issue, but on my laptop (Dell XPS 15" 2-in-1) I find that the CPU frequency, under load on AC, is often throttled to 2.5GHz rather than the base 3.1GHz or 3.8GHz turbo frequency.
Restarting thermald (with `systemctl restart thermald`) will let the system scale up to the expected ~3.8GHz boost frequency.
ProblemType: Bug
DistroRelease: Ubuntu 21.10
Package: thermald 2.4.6-1
ProcVersionSign
Uname: Linux 5.11.0-20-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.11-0ubuntu67
Architecture: amd64
CasperMD5CheckR
CurrentDesktop: ubuntu:GNOME
Date: Thu Aug 19 09:24:56 2021
InstallationDate: Installed on 2021-06-26 (53 days ago)
InstallationMedia: Ubuntu 21.10.0 2021.05.28 amd64 "bcachefs" (20210622)
SourcePackage: thermald
UpgradeStatus: No upgrade log present (probably fresh install)
cpu info:
model : 158
model name : Intel(R) Core(TM) i7-8705G CPU @ 3.10GHz
Changed in thermald (Ubuntu): | |
assignee: | Ubuntu Kernel Team (ubuntu-kernel-team) → koba (kobako) |
description: | updated |
Two recent thermald releases may have now addressed this issue:
thermald (2.4.3-1ubuntu2) hirsute; urgency=medium
* Support Jasper Lake. (LP: #1940629) Jasper- Lake-CPU- model.patch
- 0014-Added-
thermald (2.4.3-1ubuntu1) hirsute; urgency=medium
- Disable legacy rapl cdev when rapl-mmio is in use
This will prevent PL1/PL2 power limit from MSR based rapl, which
may not be the correct one.
- Delete all trips from zones before psvt install
Initially zones has all the trips from sysfs, which may have wrong
settings. Instead of deleting only for matched psvt zones, delete
or all zones. In this way only zones which are in PSVT will be
present.
- Check for alternate names for B0D4 device
B0D4 can be named as TCPU or B0D4. So search for both names
if failed to find one.
- Fix error for condition names
The current code caps the max name as the last condition name,
which is "Power_Slider". So any condition more than 56 will be
printing error, with "Power_Slider" as condition name. For example
for condition = 57: Unsupported condition 57 (Power_slider)
- Set a very high RAPL MSR PL1 with --adaptive
After upgrading Dell Latitude 5420, again noticed performance
degradation.
The PPCC power limit for MSR RAPL PL1 is reduced to 15W. Even though
we disable MSR RAPL with --adaptive option, it is not getting
disabled. So MSR RAPL limits still playing role.
To fix that set a very high MSR RAPL PL1 limit so that it never
causes throttling. All throttling with --adaptive option is done
using RAPL-MMIO.
- Special case for default PSVT
When there are no adaptive tables and only one default PSVT table
is present with just one entry with MAX type. Add one additional
entry as done for non default case.
- Increase power limit for disabled RAPL-MMIO
Increase 100W to 200W as some desktop platform already have limit
more than 100W.
- Use Adaptive PPCC limits for RAPL MMIO
Set the correct device name as RAPL-MSR so that RAPL-MMIO can
also set the correct default power limits.
Do you mind re-testing and letting us know if this now fixes the issue?