Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

throttling on AlderLake i7-1280P #466

Open
personaingrata opened this issue Dec 29, 2024 · 4 comments
Open

throttling on AlderLake i7-1280P #466

personaingrata opened this issue Dec 29, 2024 · 4 comments

Comments

@personaingrata
Copy link

personaingrata commented Dec 29, 2024

throttling on AlderLake i7-1280P
i gave thermald a shot again on my ThinkPad P14s Gen 3 i7-1280P and i'm experiencing throttling from about ~90°C down to round about ~60°C and then the cycle repeats. a picture describes it better, this is how it looks like from ThermalMonitor: https://0x0.st/8s_X.jpg

`status thermald.service
● thermald.service - Thermal Daemon Service
Loaded: loaded (/usr/lib/systemd/system/thermald.service; disabled; preset: disabled)
Drop-In: /etc/systemd/system/thermald.service.d
└─override.conf
/etc/systemd/system/service.d
└─toplevel-override.conf
Active: active (running) since Sun 2024-12-29 03:04:26 CET; 6s ago
Invocation: dc76ac6ff5b44ca79fe8b3cd12cc9d21
Main PID: 26606 (thermald)
Tasks: 6 (limit: 37719)
Memory: 1.4M (peak: 2.3M)
CPU: 20ms
CGroup: /system.slice/thermald.service
└─26606 /usr/bin/thermald --systemd --dbus-enable --ignore-cpuid-check --workaround-enabled

Dez 29 03:04:26 P14s systemd[1]: Starting Thermal Daemon Service...
Dez 29 03:04:26 P14s thermald[26606]: Using generated /etc/thermald/thermal-conf.xml.auto
Dez 29 03:04:26 P14s thermald[26606]: Using config file /etc/thermald/thermal-conf.xml.auto
Dez 29 03:04:26 P14s thermald[26606]: Polling mode is enabled: 4
Dez 29 03:04:26 P14s systemd[1]: Started Thermal Daemon Service.`

i wonder if there's an issue with dptfxtract's config files and if they need manual adjustments or if this is expected behaviour. throttling like this is not present in erpalma's throttled which i'm trying to replace because i'm not comfortable with CONFIG_DEVMEM=y in my kernel config.
i read in another issue that rmmodding int3400_thermal int3403_thermal helps to bypass throttling on AlderLake, but in my case it made it worse as you can see in the provided image above.

not sure sure if it's any relevant:
$ cat /sys/devices/platform/INTC1041:00/uuids/available_uuids
UNKNOWN

$ cat /sys/devices/platform/INTC1041:00/uuids/current_uuid
INVALID

$ cat /sys/bus/acpi/devices/INTC1041:00/physical_node/uuids/available_uuids
UNKNOWN

$ cat /sys/bus/acpi/devices/INTC1041:00/physical_node/uuids/current_uuid
INVALID

i'll happily provide more info if you want to debug this

@spandruvada
Copy link
Contributor

have you tried using --adaptive option?

@personaingrata
Copy link
Author

i'm sorry for the late reply. so i just tested the --adaptive option
`● thermald.service - Thermal Daemon Service
Loaded: loaded (/usr/lib/systemd/system/thermald.service; enabled; preset: disabled)
Drop-In: /etc/systemd/system/thermald.service.d
└─override.conf
/etc/systemd/system/service.d
└─toplevel-override.conf
Active: active (running) since Fri 2025-02-07 22:35:29 CET; 7min ago
Invocation: 4d7bc17a738640dcbef6d536d4b46e1f
Main PID: 5618 (thermald)
Tasks: 5 (limit: 37674)
Memory: 1.9M (peak: 3.1M)
CPU: 1.167s
CGroup: /system.slice/thermald.service
└─5618 /usr/bin/thermald --systemd --dbus-enable --ignore-cpuid-check --adaptive

Feb 07 22:35:29 P14s systemd[1]: Starting Thermal Daemon Service...
Feb 07 22:35:29 P14s thermald[5618]: Polling mode is enabled: 4
Feb 07 22:35:29 P14s systemd[1]: Started Thermal Daemon Service.
`
i get throttled to ~65°C and it stays the until i abort the kernel build.

during this ThermalMonitor outputs the following:
error: ThermaldInterface::initialize() could not find valid trip for zone 0 error: ThermaldInterface::initialize() could not find valid trip for zone 1 error: ThermaldInterface::initialize() could not find valid trip for zone 2 error: ThermaldInterface::initialize() could not find valid trip for zone 3 error: ThermaldInterface::initialize() could not find valid trip for zone 4 error: ThermaldInterface::initialize() could not find valid trip for zone 5 error: ThermaldInterface::initialize() could not find valid trip for zone 6 error: ThermaldInterface::initialize() could not find valid trip for zone 7 error: ThermaldInterface::initialize() could not find valid trip for zone 8 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 1 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 2 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 3 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 4 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 5 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 6 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 7 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 8 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 9 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 10 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 11 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 12 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 13 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 14 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 15 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 16 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 17 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 18 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 19 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 20 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 21 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 22 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 23 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 24 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 25 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 26 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 27 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 28 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 29 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 30 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 31 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 32 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 33 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 34 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 35 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 36 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 37 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 38 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 39 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 40 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 41 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 42 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 43 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 44 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 45 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 46 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 47 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 48 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 49 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 50 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 51 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 52 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 53 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 54 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 55 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 56 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 57 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 58 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 59 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 60 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 61 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 62 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 63 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 64 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 65 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 66 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 67 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 68 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 69 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 70 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 71 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 72 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 73 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 74 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 75 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 76 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 77 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 78 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 79 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 80 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 81 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 82 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 83 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 84 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 85 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 86 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 87 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 88 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 89 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 90 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 91 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 92 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 93 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 94 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 95 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 96 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 97 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 98 void QCPGraph::addData(const QVector<double>&, const QVector<double>&, bool) keys and values have different sizes: 100 99

@spandruvada
Copy link
Contributor

There are no logs attached.
Try running
https://github.com/intel/thermal_daemon/blob/master/test/thermal-debug-dump-ubuntu.sh

This will collect logs and generate a tar file.

@personaingrata
Copy link
Author

i'm on arch linux so i skipped the install part of the script and installed the remaining dependencies by hand. i hope this produced useful logs.

11214439.tar.gz

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants