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

Thermald does not throttle the intel_cpufreq CPU scaling driver #467

Open
DougSmythies opened this issue Dec 30, 2024 · 3 comments
Open

Comments

@DougSmythies
Copy link

DougSmythies commented Dec 30, 2024

If the thermald service is started while using the intel_pstate CPU frequency driver, everything is fine and thermal control is done via /sys/devices/system/cpu/intel_pstate/max_perf_pct.

If the thermald service is already running and then the intel_pstate CPU frequency scaling driver is changed to the intel_cpufreq driver (A.K.A. the intel_pstate driver in passive mode), everything continues to be fine and thermal control is done via /sys/devices/system/cpu/intel_pstate/max_perf_pct.

If the thermald service is started while using the intel_cpufreq CPU frequency scaling driver, it does not work.

I have cloned this repository, but have not been able to figure it out.

I am using very simple controls:
thermald-xml-files.txt

Version: 2.5.6-2ubuntu0.24.04.1

@DougSmythies DougSmythies changed the title Thermald does throttle the intel_cpufreq CPU scaling driver Thermald does not throttle the intel_cpufreq CPU scaling driver Dec 30, 2024
@spandruvada
Copy link
Contributor

Please try this change:
git diff
diff --git a/src/thd_cdev_intel_pstate_driver.cpp b/src/thd_cdev_intel_pstate_driver.cpp
index 4d20aeb..0fe32b0 100644
--- a/src/thd_cdev_intel_pstate_driver.cpp
+++ b/src/thd_cdev_intel_pstate_driver.cpp
@@ -106,7 +106,7 @@ int cthd_intel_p_state_cdev::update() {
ret = cdev_sysfs.read(status_attr.str(), status_str);
if (ret >= 0 && status_str != "active") {
thd_log_info("intel pstate is not in active mode\n");

  •                   return THD_ERROR;
    
  •                   //return THD_ERROR;
              }
      }
    

I

I did one experiment:

thermald_log.txt

@DougSmythies
Copy link
Author

Yes, that works.
I tried the change and it worked as expected, fixing the issue.

@spandruvada
Copy link
Contributor

I will submit to next rev. Thanks for test.

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