Code Monkey home page Code Monkey logo

thermal_daemon's Introduction

Use man pages to check command line arguments in configuration:
	man thermald
	man thermal-conf.xml

Prerequisites:
	Kernel
		Prefers kernel with
			Intel RAPL power capping driver : Available from Linux kernel 3.13.rc1
			Intel P State driver (Available in Linux kernel stable release)
			Intel Power clamp driver (Available in Linux kernel stable release)
			Intel INT340X drivers
			Intel RAPL-mmio power capping driver: Available from 5.3-rc1

Companion tools
	ThermalMonitor
		Graphical front end for monitoring and control.
		Source code is as part of tools folder in this git repository.
	dptfxtract
		Download from: https://github.com/intel/dptfxtract
		This generates configuration files for thermald on some systems.

Building and executing on Fedora
1.
Install

	yum install automake
	yum install autoconf-archive
	yum install gcc
	yum install gcc-c++
	yum install glib-devel
	yum install dbus-glib-devel
	yum install libxml2-devel
	yum install gtk-doc
	yum install upower-devel
	yum install libevdev-devel

Replace yum with dnf for later Fedora versions.

2
Build

	./autogen.sh prefix=/
	make
	sudo make install

The prefix value depends on the distribution version.
This can be "/" or "/usr". So please check existing
path of thermald install, if present to update and
add appropriate prefix.

3
- start service
	sudo systemctl start thermald.service
- Get status
	sudo systemctl status thermald.service
- Stop service
	sudo systemctl stop thermald.service

4. Terminate using DBUS I/F
	sudo test/test_pref.sh
		and select "TERMINATE" choice.



Building on Ubuntu
1. Install
	sudo apt install autoconf
	sudo apt install autoconf-archive
	sudo apt install g++
	sudo apt install libglib2.0-dev
	sudo apt install libdbus-1-dev
	sudo apt install libdbus-glib-1-dev
	sudo apt install libxml2-dev
	sudo apt install gtk-doc-tools
	sudo apt install libupower-glib-dev
	sudo apt install libevdev-dev

2
Build

	./autogen.sh prefix=/
	make
	sudo make install

(It will give error for systemd configuration, but ignore)

3.
If using systemd, use
- start service
	sudo systemctl start thermald.service
- Get status
	sudo systemctl status thermald.service
- Stop service
	sudo systemctl stop thermald.service

Building and executing on openSUSE
1.
Install
	zypper in automake
	zypper in gcc
	zypper in gcc-c++
	zypper in glib2-devel
	zypper in dbus-1-glib-devel
	zypper in libxml2-devel
	zypper in automake autoconf-archive
	zypper in gtk-doc
	zypper in libupower-glib-devel
	zypper in libevdev-devel

For build, follow the same procedure as Fedora.

-------------------------------------------

Releases

Release 2.5.7
- Remove dependency on lzma libs
- Fix remaining issues with  GDBUS transition
- Seg fault when no config file for the first time

Release 2.5.6
- Fix crash with GDBus port

Release 2.5.5
- Use GDBus for dbus
- Handle single trip to solve thermal shutdown issue for an Alder Lake desktop

Release 2.5.4
- Android support
- Workarounds for missing conditions/tables

Release 2.5.3
- Support Meteor Lake

Release 2.5.2
- Support Alder Lake N
- Support ITMT version 2, which is used in some Raptor Lake systems

Release 2.5.1
- Static analysis fixes
- Missing init, which causes skipping of conditions in a Dell system

Release 2.5
- Support of new thermal table for Alder Lake
- Add Raptor Lake in the list

Release 2.4.9
- Fix performance issues for Dell Latitude 5421
- Fix performance issues for Dell Latitude 7320/7420
(Depend on kernel patch "thermal: int340x: Update OS policy capability handshake")
- Adaptive improvements from Benzea
- Thermal Monitor fixes and cosmetic updates
- Documentation updates from Colin King
- Static analysis fixes from Benzea
- Fix test for compressed data vaults

Release 2.4.8
-Fix Ideapad thermal shutdown issue #328

Release 2.4.7
- Fix AC/DC power limit issue in some HP TigerLake systems
- Regression fix for RAPL MSR usage in xml config file
- Added Japer Lake and Alder Lake CPU models
- Debug scripts for log collection to upload

Release 2.4.6
- Fix for Ubuntu bug 1930422

Release 2.4.5
- Address low performance with Dell Latitude 5420
with the latest BIOS

Release 2.4.4
- Address low performance with Dell Latitude 5420

Release 2.4.3
- Allow --ingore-cpuid-check to use with --adaptive option

Release 2.4.2
- Issue with Dell Latitude 7400. Fix for issue #291

Release 2.4.1
- Minor change for Dell XPS 13 with Tiger Lake.

Release 2.4
- Support for Rocket Lake and Commet Lake CPU model
- Tiger Lake DPTF tables support
- CPU stuck at low frequency on two models (issue 280)
- Changes related to PID and exit codes

Release 2.3
- Merged changes from mjg59 for adaptive
- Requires Linux kernel version 5.8 or later
- By default tries --adaptive and fallback to old style
- At least some level of success to use adaptive option on:
(not expected to be on par with Windows DPTF)
Dell XPS 13 9360
Dell XPS 13 9370
Dell XPS 13 9380
Dell XPS 13 7390 2-in-1
Dell Insperion_7386
HP Spectre x360 Convertible 15-ch0xx
HP ZBook 15 G5
Lenovo Thinkpad T480

- thermald will not run on Lenovo platforms with lap mode sysfs entry

Release 2.2
- Ignore PPCC power limits when max and min power is same
- Regression in cpufreq cooling device causing min state to get stuck

Release 2.1
- Workaround for invalid PPCC power limits
- Reduce polling for power when PPCC is not present

Release 2.0
- Tiger Lake support
- PL1 limit setting from PPCC as is
- Optimize multi step, multi zone control
- Add new tag for product identification "product_sku"

Release 1.9.1
- Remove default CPU temperature compensation for auto generated configuration from dptfxtract
- Minor Android build warnings

Release 1.9
- The major change in this version is the active power limits adjustment.
This will be useful to improve performance on some newer platform. But
this will lead to increase in CPU and other temperatures. Hence this
is important to run dptfxtract version 1.4.1 tool to get performance
sensitive thermal limits (https://github.com/intel/dptfxtract/commits/v1.4.1).
If the default configuration picked up by thermald is not optimal, user
can select other less aggressive configuration. Refer to the README here
https://github.com/intel/dptfxtract/blob/master/README.txt

This power limit adjustment depends on some kernel changes released with
kernel version v5.3-rc1. For older kernel release run thermald with
--workaround-enabled
But this will depend on /dev/mem access, which means that platforms with
secure boot must update to newer kernels.

- TCC offset limits
As reported in some forums that some platforms have issue with high TCC
offset settings. Under some special condition this offset is adjusted,
but that currently needs msr module loaded to get MSR access
from user space. I have submitted a patch to have this exported via sysfs
for v5.4+ kernel.

- To disable all the above performance optimization, use --disable-active-power.
Since Linux Thermal Daemon implementation doesn't have capability to match
Intel® Dynamic Platform and Thermal Framework (DPTF) implementation on other
Operating systems, this option is very important if the user is experiencing
thermal issues. If there is some OEM/manufactures have issue with this
implementation, please get back to me for blacklist of platforms.

- Added support for Ice Lake platform

- ThermalMonitor
Cleaned up the plots, so that only active sensors and trips gets plotted.

Release 1.8
- Support of KBL-G with discrete GPU
- Fast removal of any cooling action which was applied once
temperature is normal
- Android support
- Add Hot trip point, which when reached just calls "suspend"
- Adding new tag "DependsOn" which enable/disable trip based on some other trip
- Polling interval can be configured via thermal xml config
- Per trip PID control
- Simplify RAPL cooling device

Release 1.7.2
- Workwround for platform with invalid thermal table
- Error printing for RAPL constraint sysfs read on failure
- thermal-conf.xml.auto  can be read from /etc/thermald, which allows user to modify
generated thermal-conf.xml from /var/run/thermald and copy to /etc/thermald

Release 1.7.1
- Removed dptfxtract binary as there is an issue
in packaging this with GPL source for distributions

Release 1.7
- Add GeminiLake
- Add dptfxtract tool, which converts DPTF tables to thermald tables using best effort
- Changes to accommodate dptfxtract tool conversions
- Better facility to configure fan controls
- PID control optimization
- Fix powerlimit write errors because of bad FW settings of power limits
- More restrictive compile options and warnings as errors
- Improve logging
- Android build fixes

Release 1.6
- Add Kabylake and missing Broadwell CPU model
- Removed deprecated modules
- Added passive trip between critical and max, to allow fan to take control first
- Fixed clash when multiple zones and trips controlling same cdev

1.5.4
- Use Processor thermal device in lieu of CPU zone when present
- Haswell/Skylake PCH sensor
- Fix regression in LCD/Backlight path

Release 1.5.3
- PCH sensor support

Release 1.5.2
- Security bug for bios lock fix

Release 1.5.1
- Regression fix for the default config file location

Release 1.5
- Default warning level increase so that doesn't print much in logs
- Add new feature to set specific target state on reaching a threshold,
this allows multiple thresholds (trips)
- Android update for build
- Additional backlight devices
- New option to specify config file via command line
- Prevent adding cooling device in /etc via dbus
- Whitelist of processor models, to avoid startup on server platforms

Release 1.4.3
- One new dbus message to get temp
- Fixes to prevent warnings

Release 1.4
- Extension of DBUS I/F for developing Monitoring and Control GUI
- Added exampled to thermal-conf man page
- Support INT340X class of thermal control introduced in kernel 4.0
- Reinit without restart thermald to load new parameters like new control temperature
- Fix indexes when Linux thermal sysfs doesn't have contiguous zone numbering
- Support for new Intel SoC platforms
- Introduce back-light control as the Linux back light cooling device is removed
- Restore modified passive trip points in thermal zones on exit
- Virtual Sensor definition
- Fix loop when uevents floods the system
- Error message removal for rapl sysfs traversal
- Coverity error

Release 1.3
- Auto creation of configuration based on ACPI thermal relationship table
- Default CPU bound load check for unbinded thermal sensors

Release 1.2
- Several fixes for Klocworks and Coverity scans (0 issues remaining)
- Baytrail RAPL support as this doesn't have max power limit value

Release 1.1
- Use powercap Intel RAPL driver
- Use skin temperature sensor by default if available
- Specify thermal relationship
- Clean up for MSR related controls as up stream kernel driver are capable now
- Override capability of thermal sysfs for a specific sensor or zone
- Friendly to new thermal sysfs

Release 1.04
- Android and chrome os integration
- Minor fixes for buggy max temp

Release 1.03
- Allow negative step increments while configuring via XML
- Use powercap RAPL driver I/F
- Additional cpuids in the list
- Add man page with details of usage
- Added P state turbo on/off

Release 1.02
- Allow user to change the max temperature via dbus message
- Allow user to change the cooling method order via an XML configuration
- Upstart fixes
- Valgrind and zero warnings on build

Release 1.01
- Implement RAPL using MSRs.
- User can configure cooling device order via XML config file
- Fix sensor path configuration for thermal-conf.xml, so that user cn specify custom sensor paths
- Use CPU max scaling frequency to control CPU Frequencies
- RPM generation scripts
- Build and formatting fixes from Alexander Bersenev


Release 1.0
- Tested on multiple platforms
- Using PID

version 0.9
- Replaced netlink with uevents
- Fix issue with pre-configured thermal data to control daemon
- Use pthreads

version 0.8
- Fix RAPL PATH, which is submitted upstream
- Handle case when there is no MSR access from user mode
- Allow non Intel CPUs

version 0.7
- Conditional per cpu control
- Family id check
- If no max use offset from critical temperature
- Switch to hwmon if there is no coretemp
- Error handling if MSR support is not enabled in kernel
- Code clean up and comments

Version 0.6
- Use Intel P state driver to control P states
- Use RAPL cooling device
- Fix valgrind reported errors and cleanup
- Add document

Version 0.5
- License update to GPL v2 or later
- Change dbus session bus to system
- Load thermal-conf.xml data if exact UUID  match

Version 0.4
- Added power clamp driver interface
- Added per cpu controls by trying to calibrate in the background to learn sensor cpu relationship
- Optimized p states and turbo states and cleaned up
- systemd and service start stop interface

Version 0.3
- Added P states t states turbo states as the cooling methods
- No longer depend on any thermal sysfs, zone cooling device by default
- Uses DTS core temperature and p/turbo/t states to cool system
- By default only will use DTS core temperature and p/turbo/t states only
- All the previous controls based on the zones/cdevs and XML configuration is only done, when activated via command line
- The set points are calculated and stored in a config file when it hits thermal threshold and adjusted based
on slope and angular increments to dynamically adjust set point


Version 0.2
- Define XML interface to set configuration data. Refer to thermal-conf.xml. This allows overriding buggy Bios thermal comfiguration and also allows extending the capability.
- Use platform DMI UUID to index into configuration data. If there is no UUID match, falls back to thermal sysfs
- Terminate interface
- Takes over control from kernel thermal processing
- Clean up of classes.


Version 0.1
- Dbus interface to set preferred policy: "performance", "quiet/power", "disabled"
- Defines a C++ classes for zones, cooling devices, trip points, thermal engine
- Methods can be overridden in a custom class to modify default behaviour
- Read thermal zone and cooling devices, trip points etc,
- Read temperature via netlink notification or via polling configurable via command line
- Once a trip point is crossed, activate the associate cooling devices. Start with min tstate to max tstate for each cooling device.
- Based on active or passive settings it decides the cooling devices

thermal_daemon's People

Contributors

alexbers avatar anujm1 avatar ashish18590 avatar axamendes avatar colinianking avatar cooper151288 avatar daringer avatar diggit avatar ffainelli avatar hadess avatar khfeng avatar mazzz1y avatar mjg59 avatar mpmoran avatar pabs3 avatar pvoorai avatar radivojejovanovic avatar raof avatar realnickel avatar saininav avatar saleemrashid avatar sandsmark avatar sanel avatar smcv avatar spandruvada avatar sschloetzer avatar stephan-gh avatar vogtinator avatar vstehle avatar ysiyer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

thermal_daemon's Issues

Thermald doesn't work properly on Haswell

Hey, Thermald doesn't seem to be detecting properly (or power managing) a haswell CPU.

I'm running 3.11 kernel with this patch to make it detect haswell:

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 07f2840..dbd1032 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -522,6 +522,11 @@ static const struct x86_cpu_id intel_pstate_cpu_ids[] = {
        ICPU(0x2a, default_policy),
        ICPU(0x2d, default_policy),
        ICPU(0x3a, default_policy),
+       ICPU(0x3c, default_policy),
+       ICPU(0x3e, default_policy),
+       ICPU(0x3f, default_policy),
+       ICPU(0x45, default_policy),
+       ICPU(0x46, default_policy),
        {}
 };
 MODULE_DEVICE_TABLE(x86cpu, intel_pstate_cpu_ids);

The intel_pstate driver is running:

[dheart@adjudicator ~]$ cpupower frequency-info
analyzing CPU 0:
  driver: intel_pstate

However all the cores are running at full speed (non turbo frequencies 2.8 Ghz)

And thermald log reports the following:

сеп 27 22:26:36 adjudicator systemd[1]: Starting Thermal Daemon Service...
сеп 27 22:26:36 adjudicator systemd[1]: Started Thermal Daemon Service.
сеп 27 22:26:36 adjudicator thermald[362]: 13 CPUID levels; family:model:stepping 0x6:3c:3 (6:60:3)
сеп 27 22:26:36 adjudicator thermald[362]: No support RAPL and Intel P state driver
сеп 27 22:26:36 adjudicator thermald[362]: Polling mode is enabled: 4
сеп 27 22:26:36 adjudicator thermald[362]: Found Intel pstate driver
сеп 27 22:26:36 adjudicator thermald[362]: Not a sandybridge and above architecture
сеп 27 22:26:36 adjudicator thermald[362]: MSR CONTROL WILL BE DISABLED
сеп 27 22:26:36 adjudicator thermald[362]: Read set point 82500
сеп 27 22:26:36 adjudicator thermald[362]: DTS package temp thermal zone not found, Requires polling !!
сеп 27 22:26:36 adjudicator thermald[362]: Default DTS processing for cpus mask = ffff
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_INTEL_RAPL_DRIVER
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_RAPL
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_INTEL_PSTATE_DRIVER
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_MSR_TURBO_STATES
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_MSR_PSTATES_PARTIAL
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_TURBO_ON_OFF
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_POWER_CLAMP
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_CPU_FREQ
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_MSR_PSTATES
сеп 27 22:26:36 adjudicator thermald[362]: node type: Element, name: CoolingDevice value: CDEV_T_STATES
сеп 27 22:26:36 adjudicator thermald[362]: CDEVS order specified in thermal-cdev-order.xml
сеп 27 22:26:36 adjudicator thermald[362]: FD = 7
сеп 27 22:26:36 adjudicator thermald[362]: Current user preference is 0
сеп 27 22:26:36 adjudicator thermald[362]: thd_engine_thread begin

Even when running for longer periods of time and idling, the frequencies don't go down from 2.8 Ghz and the temperature hovers around 50 C, which is a bit high.

CPU: 4900MQ

Disabling turbo?

Hi,

I have an Intel i5-2410M processor in my thinkpad and it is very prone to overheating when turbo mode is on. Thermald controls it to an extend but it will still use T-state and p-state to occasionally throttle. I've noticed that building android with turbo on takes almost twice as long as building with turbo off.

So I'm not exactly sure where to ask this.. but:

I know i can echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo to disable turbo mode. Is there a way to permanently disable turbo? I have no options in BIOS.

Furthermore I've noticed that occasionally, even when no_turbo is 1, turbo mode still engages when I watched /proc/cpuinfo. This is with thermal daemon running.

thermald fails to start: no RAPL

thermald(on a stock fedora 23 install) simply fails to start complaining about a few things(at the start and at the end):

https://gist.github.com/sos-michael/fb0c7c98730aea16b417#file-thermald

I've tried modprobing intel_rapl:
modprobe: ERROR: could not insert 'intel_rapl': No such device

I know this is not a lot to go on... and it might just be a quirk. But I think something else is up, I'm likely simply missing something obvious, but I'm unsure where else to look.

Integer overflow on Intel Core i7 4770S (Haswell)

I have this CPU in my silent PC:

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 60
model name  : Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz
stepping    : 3
microcode   : 0x1c
cpu MHz     : 899.968
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 0
cpu cores   : 4
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs        :
bogomips    : 6185.90
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

(and 7 more virtual cores like this)

Unfortunately, unpatched thermald does not work: wants to write negative values as RAPL power limits. I assume this is due to some integer overflow. Here are RAPL data, just in case (with the unpatched version f thermald running):

/sys/class/powercap/intel-rapl/power/control:auto
/sys/class/powercap/intel-rapl/power/async:disabled
/sys/class/powercap/intel-rapl/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl/power/runtime_active_time:0
/sys/class/powercap/intel-rapl/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl/power/runtime_usage:0
/sys/class/powercap/intel-rapl/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl/enabled:1
/sys/class/powercap/intel-rapl/intel-rapl:0/name:package-0
/sys/class/powercap/intel-rapl/intel-rapl:0/power/control:auto
/sys/class/powercap/intel-rapl/intel-rapl:0/power/async:disabled
/sys/class/powercap/intel-rapl/intel-rapl:0/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl/intel-rapl:0/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl/intel-rapl:0/power/runtime_active_time:0
/sys/class/powercap/intel-rapl/intel-rapl:0/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl/intel-rapl:0/power/runtime_usage:0
/sys/class/powercap/intel-rapl/intel-rapl:0/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us:1000000
/sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw:4090000000
/sys/class/powercap/intel-rapl/intel-rapl:0/enabled:1
/sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw:3408250000
/sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_name:long_term
/sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_name:short_term
/sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj:26192755676
/sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_max_power_uw:0
/sys/class/powercap/intel-rapl/intel-rapl:0/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_max_power_uw:65000000
/sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us:976
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/name:core
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/power/control:auto
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/power/async:disabled
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/power/runtime_active_time:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/power/runtime_usage:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/constraint_0_time_window_us:976
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/enabled:1
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/constraint_0_power_limit_uw:4090000000
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/constraint_0_name:long_term
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/energy_uj:16834298461
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/name:uncore
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/power/control:auto
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/power/async:disabled
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/power/runtime_active_time:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/power/runtime_usage:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/constraint_0_time_window_us:976
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/enabled:1
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/constraint_0_power_limit_uw:4090000000
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/constraint_0_name:long_term
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/energy_uj:234232666
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/name:dram
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/power/control:auto
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/power/async:disabled
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/power/runtime_active_time:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/power/runtime_usage:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/constraint_0_time_window_us:976
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/enabled:1
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/constraint_0_power_limit_uw:3408250000
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/constraint_0_name:long_term
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/energy_uj:2469474853
/sys/class/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl:0/name:package-0
/sys/class/powercap/intel-rapl:0/power/control:auto
/sys/class/powercap/intel-rapl:0/power/async:disabled
/sys/class/powercap/intel-rapl:0/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl:0/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl:0/power/runtime_active_time:0
/sys/class/powercap/intel-rapl:0/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl:0/power/runtime_usage:0
/sys/class/powercap/intel-rapl:0/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl:0/constraint_0_time_window_us:1000000
/sys/class/powercap/intel-rapl:0/constraint_1_power_limit_uw:4090000000
/sys/class/powercap/intel-rapl:0/enabled:1
/sys/class/powercap/intel-rapl:0/constraint_0_power_limit_uw:3408250000
/sys/class/powercap/intel-rapl:0/constraint_0_name:long_term
/sys/class/powercap/intel-rapl:0/constraint_1_name:short_term
/sys/class/powercap/intel-rapl:0/energy_uj:26192796142
/sys/class/powercap/intel-rapl:0/constraint_1_max_power_uw:0
/sys/class/powercap/intel-rapl:0/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl:0/constraint_0_max_power_uw:65000000
/sys/class/powercap/intel-rapl:0/constraint_1_time_window_us:976
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/name:core
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/power/control:auto
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/power/async:disabled
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/power/runtime_active_time:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/power/runtime_usage:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/constraint_0_time_window_us:976
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/enabled:1
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/constraint_0_power_limit_uw:4090000000
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/constraint_0_name:long_term
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/energy_uj:16834303466
/sys/class/powercap/intel-rapl:0/intel-rapl:0:0/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/name:uncore
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/power/control:auto
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/power/async:disabled
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/power/runtime_active_time:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/power/runtime_usage:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/constraint_0_time_window_us:976
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/enabled:1
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/constraint_0_power_limit_uw:4090000000
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/constraint_0_name:long_term
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/energy_uj:234232666
/sys/class/powercap/intel-rapl:0/intel-rapl:0:1/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/name:dram
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/power/control:auto
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/power/async:disabled
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/power/runtime_active_time:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/power/runtime_usage:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/constraint_0_time_window_us:976
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/enabled:1
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/constraint_0_power_limit_uw:3408250000
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/constraint_0_name:long_term
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/energy_uj:2469482238
/sys/class/powercap/intel-rapl:0/intel-rapl:0:2/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl:0:0/name:core
/sys/class/powercap/intel-rapl:0:0/power/control:auto
/sys/class/powercap/intel-rapl:0:0/power/async:disabled
/sys/class/powercap/intel-rapl:0:0/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl:0:0/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl:0:0/power/runtime_active_time:0
/sys/class/powercap/intel-rapl:0:0/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl:0:0/power/runtime_usage:0
/sys/class/powercap/intel-rapl:0:0/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl:0:0/constraint_0_time_window_us:976
/sys/class/powercap/intel-rapl:0:0/enabled:1
/sys/class/powercap/intel-rapl:0:0/constraint_0_power_limit_uw:4090000000
/sys/class/powercap/intel-rapl:0:0/constraint_0_name:long_term
/sys/class/powercap/intel-rapl:0:0/energy_uj:16834313903
/sys/class/powercap/intel-rapl:0:0/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl:0:1/name:uncore
/sys/class/powercap/intel-rapl:0:1/power/control:auto
/sys/class/powercap/intel-rapl:0:1/power/async:disabled
/sys/class/powercap/intel-rapl:0:1/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl:0:1/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl:0:1/power/runtime_active_time:0
/sys/class/powercap/intel-rapl:0:1/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl:0:1/power/runtime_usage:0
/sys/class/powercap/intel-rapl:0:1/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl:0:1/constraint_0_time_window_us:976
/sys/class/powercap/intel-rapl:0:1/enabled:1
/sys/class/powercap/intel-rapl:0:1/constraint_0_power_limit_uw:4090000000
/sys/class/powercap/intel-rapl:0:1/constraint_0_name:long_term
/sys/class/powercap/intel-rapl:0:1/energy_uj:234234008
/sys/class/powercap/intel-rapl:0:1/max_energy_range_uj:262143999938
/sys/class/powercap/intel-rapl:0:2/name:dram
/sys/class/powercap/intel-rapl:0:2/power/control:auto
/sys/class/powercap/intel-rapl:0:2/power/async:disabled
/sys/class/powercap/intel-rapl:0:2/power/runtime_enabled:disabled
/sys/class/powercap/intel-rapl:0:2/power/runtime_active_kids:0
/sys/class/powercap/intel-rapl:0:2/power/runtime_active_time:0
/sys/class/powercap/intel-rapl:0:2/power/runtime_status:unsupported
/sys/class/powercap/intel-rapl:0:2/power/runtime_usage:0
/sys/class/powercap/intel-rapl:0:2/power/runtime_suspended_time:0
/sys/class/powercap/intel-rapl:0:2/constraint_0_time_window_us:976
/sys/class/powercap/intel-rapl:0:2/enabled:1
/sys/class/powercap/intel-rapl:0:2/constraint_0_power_limit_uw:3408250000
/sys/class/powercap/intel-rapl:0:2/constraint_0_name:long_term
/sys/class/powercap/intel-rapl:0:2/energy_uj:2469484863
/sys/class/powercap/intel-rapl:0:2/max_energy_range_uj:262143999938

Here is the thermald log with the default verbosity:

-- Logs begin at Sun 2014-08-17 17:15:38 YEKT, end at Mon 2015-01-12 01:46:31 YEKT. --
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/power/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/enabled/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/name/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/power/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/enabled/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/device/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/subsystem/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_name/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_name/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_max_power_uw/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/uevent/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/max_energy_range_uj/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_max_power_uw/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us/name
Jan 12 01:30:30 aep-haswell thermald[1143]: RAPL domain count 1
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/subsystem/name
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed /sys/class/powercap/intel-rapl/uevent/name
Jan 12 01:30:30 aep-haswell thermald[1143]: RAPL domain count 1
Jan 12 01:30:30 aep-haswell thermald[1143]: 13 CPUID levels; family:model:stepping 0x6:3c:3 (6:60:3)
Jan 12 01:30:30 aep-haswell thermald[1143]: Running on a vanilla kernel
Jan 12 01:30:30 aep-haswell thermald[1143]: Polling mode is enabled: 4
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor_update: type acpitz
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor_update: type acpitz
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor_update: type x86_pkg_temp
Jan 12 01:30:30 aep-haswell thermald[1143]: thd_read_default_thermal_sensors loaded 3 sensors
Jan 12 01:30:30 aep-haswell thermald[1143]: dts /sys/devices/platform/coretemp.0/name doesn't exist
Jan 12 01:30:30 aep-haswell thermald[1143]: failed to open /dev/acpi_thermal_rel
Jan 12 01:30:30 aep-haswell thermald[1143]: failed to open /dev/acpi_thermal_rel
Jan 12 01:30:30 aep-haswell thermald[1143]: TRT/ART read failed
Jan 12 01:30:30 aep-haswell thermald[1143]: Dumping parsed XML Data
Jan 12 01:30:30 aep-haswell thermald[1143]: *** Index 0 ***
Jan 12 01:30:30 aep-haswell thermald[1143]: Name: SilentPC
Jan 12 01:30:30 aep-haswell thermald[1143]: UUID:
Jan 12 01:30:30 aep-haswell thermald[1143]: type: 0
Jan 12 01:30:30 aep-haswell thermald[1143]: Zone 0
Jan 12 01:30:30 aep-haswell thermald[1143]: Name: cpu
Jan 12 01:30:30 aep-haswell thermald[1143]: Trip Point 0
Jan 12 01:30:30 aep-haswell thermald[1143]: temp 82000
Jan 12 01:30:30 aep-haswell thermald[1143]: trip type 2
Jan 12 01:30:30 aep-haswell thermald[1143]: hyst id 0
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor type x86_pkg_temp
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev index 0
Jan 12 01:30:30 aep-haswell thermald[1143]: type rapl_controller
Jan 12 01:30:30 aep-haswell thermald[1143]: influence 100
Jan 12 01:30:30 aep-haswell thermald[1143]: SamplingPeriod 1
Jan 12 01:30:30 aep-haswell thermald[1143]: Cooling Dev 0
Jan 12 01:30:30 aep-haswell thermald[1143]: Type: rapl_controller
Jan 12 01:30:30 aep-haswell thermald[1143]: Path:
Jan 12 01:30:30 aep-haswell thermald[1143]: Min: 0
Jan 12 01:30:30 aep-haswell thermald[1143]: Max: 0
Jan 12 01:30:30 aep-haswell thermald[1143]: Step: 1
Jan 12 01:30:30 aep-haswell thermald[1143]: AutoDownControl: 0
Jan 12 01:30:30 aep-haswell thermald[1143]: PID: Kp 700,000000
Jan 12 01:30:30 aep-haswell thermald[1143]: PID: Ki 0,000000
Jan 12 01:30:30 aep-haswell thermald[1143]: PID: Kd 2800,000000
Jan 12 01:30:30 aep-haswell thermald[1143]: Product Name matched [wildcard]
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor index:0 acpitz Async:1
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor index:1 acpitz Async:0
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor index:2 x86_pkg_temp Async:1
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor index:3 hwmon Async:0
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor index:4 hwmon Async:0
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor index:5 hwmon Async:0
Jan 12 01:30:30 aep-haswell thermald[1143]: thd_read_default_cooling devices loaded 14 cdevs
Jan 12 01:30:30 aep-haswell thermald[1143]: Default constraint power limit is more than max power 3408250000:65000000
Jan 12 01:30:30 aep-haswell thermald[1143]: powercap RAPL max power limit range 3408250000
Jan 12 01:30:30 aep-haswell thermald[1143]: set_pid_param 14 [1000.100,10]
Jan 12 01:30:30 aep-haswell thermald[1143]: Use Default pstate drv settings
Jan 12 01:30:30 aep-haswell thermald[1143]: Product Name matched [wildcard]
Jan 12 01:30:30 aep-haswell thermald[1143]: PID control enabled 14
Jan 12 01:30:30 aep-haswell thermald[1143]: set_pid_param 14 [700.0,2800]
Jan 12 01:30:30 aep-haswell thermald[1143]: name = package-0
Jan 12 01:30:30 aep-haswell thermald[1143]: name = core
Jan 12 01:30:30 aep-haswell thermald[1143]: name = uncore
Jan 12 01:30:30 aep-haswell thermald[1143]: name = dram
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs read failed constraint_0_max_power_uw
Jan 12 01:30:30 aep-haswell thermald[1143]: powercap RAPL invalid max power limit range
Jan 12 01:30:30 aep-haswell thermald[1143]: Calculate dynamically phy_max
Jan 12 01:30:30 aep-haswell thermald[1143]: 0: Fan, C:0 MN: 0 MX:1 ST:1 pt:/sys/class/thermal/ rd_bk 1
Jan 12 01:30:30 aep-haswell thermald[1143]: 1: Fan, C:0 MN: 0 MX:1 ST:1 pt:/sys/class/thermal/ rd_bk 1
Jan 12 01:30:30 aep-haswell thermald[1143]: 2: Fan, C:1 MN: 0 MX:1 ST:1 pt:/sys/class/thermal/ rd_bk 1
Jan 12 01:30:30 aep-haswell thermald[1143]: 3: Fan, C:1 MN: 0 MX:1 ST:1 pt:/sys/class/thermal/ rd_bk 1
Jan 12 01:30:30 aep-haswell thermald[1143]: 4: Fan, C:1 MN: 0 MX:1 ST:1 pt:/sys/class/thermal/ rd_bk 1
Jan 12 01:30:30 aep-haswell thermald[1143]: 5: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
Jan 12 01:30:30 aep-haswell thermald[1143]: 6: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
Jan 12 01:30:30 aep-haswell thermald[1143]: 7: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
Jan 12 01:30:30 aep-haswell thermald[1143]: 8: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
Jan 12 01:30:30 aep-haswell thermald[1143]: 9: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
Jan 12 01:30:30 aep-haswell thermald[1143]: 10: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
Jan 12 01:30:30 aep-haswell thermald[1143]: 11: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
Jan 12 01:30:30 aep-haswell thermald[1143]: 12: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
Jan 12 01:30:30 aep-haswell thermald[1143]: 13: intel_powerclamp, C:-1 MN: 0 MX:50 ST:5 pt:/sys/class/thermal/ rd_bk 0
Jan 12 01:30:30 aep-haswell thermald[1143]: 14: rapl_controller, C:0 MN: 0 MX:-665037952 ST:170412496 pt:/sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/ rd_bk 1
Jan 12 01:30:30 aep-haswell thermald[1143]: 15: intel_pstate, C:0 MN: 0 MX:10 ST:1 pt:/sys/devices/system/cpu/intel_pstate/ rd_bk 1
Jan 12 01:30:30 aep-haswell thermald[1143]: 16: rapl_controller_dram, C:0 MN: 0 MX:500000 ST:500000 pt:/sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/ rd_bk 1
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: Sorted trip dump :
Jan 12 01:30:30 aep-haswell thermald[1143]: index 2: type:active temp:55000 hyst:1 zone id:0 sensor id:0 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] Fan
Jan 12 01:30:30 aep-haswell thermald[1143]: index 1: type:active temp:86000 hyst:1 zone id:0 sensor id:0 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] Fan
Jan 12 01:30:30 aep-haswell thermald[1143]: index 0: type:critical temp:97000 hyst:1 zone id:0 sensor id:0 cdev size:0
Jan 12 01:30:30 aep-haswell thermald[1143]: trip type: 3 temp: 55000
Jan 12 01:30:30 aep-haswell thermald[1143]: trip type: 3 temp: 86000
Jan 12 01:30:30 aep-haswell thermald[1143]: trip type: 0 temp: 97000
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs write failed trip_point_0_temp
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: zone acpitz bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: Sorted trip dump :
Jan 12 01:30:30 aep-haswell thermald[1143]: index 0: type:critical temp:97000 hyst:1 zone id:1 sensor id:0 cdev size:0
Jan 12 01:30:30 aep-haswell thermald[1143]: index 1: type:passive temp:100000 hyst:1 zone id:1 sensor id:0 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] Processor
Jan 12 01:30:30 aep-haswell thermald[1143]: trip type: 0 temp: 97000
Jan 12 01:30:30 aep-haswell thermald[1143]: trip type: 2 temp: 100000
Jan 12 01:30:30 aep-haswell thermald[1143]: sysfs write failed trip_point_0_temp
Jan 12 01:30:30 aep-haswell thermald[1143]: thd_read_default_thermal_zones loaded 2 zones
Jan 12 01:30:30 aep-haswell thermald[1143]: zone cpu will be created
Jan 12 01:30:30 aep-haswell thermald[1143]: dts zone /sys/devices/platform/coretemp.0/name doesn't exist
Jan 12 01:30:30 aep-haswell thermald[1143]: /sys/class/hwmon/hwmon0/name->acpitz
Jan 12 01:30:30 aep-haswell thermald[1143]: /sys/class/hwmon/hwmon1/name->coretemp
Jan 12 01:30:30 aep-haswell thermald[1143]: Core temp DTS :critical 92000, max 86000
Jan 12 01:30:30 aep-haswell thermald[1143]: Buggy max temp: to close to critical 82000
Jan 12 01:30:30 aep-haswell thermald[1143]: Read set point 0
Jan 12 01:30:30 aep-haswell thermald[1143]: node type: Element, name: CoolingDevice value: rapl_controller
Jan 12 01:30:30 aep-haswell thermald[1143]: CDEVS order specified in thermal-cpu-cdev-order.xml
Jan 12 01:30:30 aep-haswell thermald[1143]: Sorted trip dump :
Jan 12 01:30:30 aep-haswell thermald[1143]: index 1: type:passive temp:82000 hyst:0 zone id:2 sensor id:65535 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] rapl_controller
Jan 12 01:30:30 aep-haswell thermald[1143]: index 0: type:max temp:86000 hyst:0 zone id:2 sensor id:65535 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] rapl_controller
Jan 12 01:30:30 aep-haswell thermald[1143]: trip type: 2 temp: 82000
Jan 12 01:30:30 aep-haswell thermald[1143]: trip type: 1 temp: 86000
Jan 12 01:30:30 aep-haswell thermald[1143]: Read set point 0
Jan 12 01:30:30 aep-haswell thermald[1143]: Read set point 0
Jan 12 01:30:30 aep-haswell thermald[1143]: Product Name matched [wildcard]
Jan 12 01:30:30 aep-haswell thermald[1143]: Zone already present cpu
Jan 12 01:30:30 aep-haswell thermald[1143]: zone cpu bounded
Jan 12 01:30:30 aep-haswell thermald[1143]: Zone 0: acpitz, Active:0 Bind:1 Sensor_cnt:1
Jan 12 01:30:30 aep-haswell thermald[1143]: ..sensors..
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor index:0 acpitz Async:1
Jan 12 01:30:30 aep-haswell thermald[1143]: ..trips..
Jan 12 01:30:30 aep-haswell thermald[1143]: index 2: type:active temp:55000 hyst:1 zone id:0 sensor id:0 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] Fan
Jan 12 01:30:30 aep-haswell thermald[1143]: index 1: type:active temp:86000 hyst:1 zone id:0 sensor id:0 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] Fan
Jan 12 01:30:30 aep-haswell thermald[1143]: index 0: type:critical temp:97000 hyst:1 zone id:0 sensor id:0 cdev size:0
Jan 12 01:30:30 aep-haswell thermald[1143]: index 3: type:polling temp:50000 hyst:0 zone id:0 sensor id:0 cdev size:0
Jan 12 01:30:30 aep-haswell thermald[1143]: Zone 1: acpitz, Active:0 Bind:1 Sensor_cnt:1
Jan 12 01:30:30 aep-haswell thermald[1143]: ..sensors..
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor index:0 acpitz Async:1
Jan 12 01:30:30 aep-haswell thermald[1143]: ..trips..
Jan 12 01:30:30 aep-haswell thermald[1143]: index 0: type:critical temp:97000 hyst:1 zone id:1 sensor id:0 cdev size:0
Jan 12 01:30:30 aep-haswell thermald[1143]: index 1: type:passive temp:100000 hyst:1 zone id:1 sensor id:0 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] Processor
Jan 12 01:30:30 aep-haswell thermald[1143]: index 2: type:polling temp:92000 hyst:0 zone id:1 sensor id:0 cdev size:0
Jan 12 01:30:30 aep-haswell thermald[1143]: Zone 2: cpu, Active:1 Bind:1 Sensor_cnt:1
Jan 12 01:30:30 aep-haswell thermald[1143]: ..sensors..
Jan 12 01:30:30 aep-haswell thermald[1143]: sensor index:2 x86_pkg_temp Async:1
Jan 12 01:30:30 aep-haswell thermald[1143]: ..trips..
Jan 12 01:30:30 aep-haswell thermald[1143]: index 3: type:passive temp:82000 hyst:0 zone id:2 sensor id:2 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] rapl_controller
Jan 12 01:30:30 aep-haswell thermald[1143]: index 0: type:max temp:86000 hyst:0 zone id:2 sensor id:65535 cdev size:1
Jan 12 01:30:30 aep-haswell thermald[1143]: cdev[0] rapl_controller
Jan 12 01:30:30 aep-haswell thermald[1143]: index 2: type:polling temp:68000 hyst:0 zone id:2 sensor id:2 cdev size:0
Jan 12 01:30:30 aep-haswell thermald[1143]: FD = 8
Jan 12 01:30:30 aep-haswell thermald[1143]: Current user preference is 0
Jan 12 01:30:30 aep-haswell thermald[1143]: thd_engine_thread begin
Jan 12 01:37:34 aep-haswell thermald[1143]: Dropped below poll threshold
Jan 12 01:37:34 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:37:34 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:37:34 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:37:34 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:37:34 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:38:02 aep-haswell thermald[1143]: Dropped below poll threshold
Jan 12 01:38:02 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:38:02 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:38:02 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:38:02 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:38:02 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:40:45 aep-haswell thermald[1143]: Dropped below poll threshold
Jan 12 01:40:45 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:40:45 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:40:45 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:40:45 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:40:45 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:40:50 aep-haswell thermald[1143]: Dropped below poll threshold
Jan 12 01:40:50 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:40:50 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:40:50 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:40:50 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:40:50 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:41:10 aep-haswell thermald[1143]: Dropped below poll threshold
Jan 12 01:41:10 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:41:10 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:41:10 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:41:10 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:41:10 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:41:12 aep-haswell thermald[1143]: Read set point 0
Jan 12 01:41:50 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:41:50 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:41:50 aep-haswell thermald[1143]: Set : 82000, 82000, 14, 0, -665037952
Jan 12 01:41:54 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:41:54 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:41:54 aep-haswell thermald[1143]: Set : 82000, 82000, 14, 0, -665037952
Jan 12 01:41:58 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:41:58 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:41:58 aep-haswell thermald[1143]: Set : 82000, 83000, 14, 0, -665037952
Jan 12 01:42:02 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:02 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:02 aep-haswell thermald[1143]: Set : 82000, 83000, 14, 0, -665037952
Jan 12 01:42:06 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:06 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:06 aep-haswell thermald[1143]: Set : 82000, 83000, 14, 0, -665037952
Jan 12 01:42:10 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:10 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:10 aep-haswell thermald[1143]: Set : 82000, 83000, 14, 0, -665037952
Jan 12 01:42:14 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:14 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:14 aep-haswell thermald[1143]: Set : 82000, 84000, 14, 0, -665037952
Jan 12 01:42:18 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:18 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:18 aep-haswell thermald[1143]: Set : 82000, 84000, 14, 0, -665037952
Jan 12 01:42:22 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:22 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:22 aep-haswell thermald[1143]: Set : 82000, 85000, 14, 0, -665037952
Jan 12 01:42:26 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:26 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:26 aep-haswell thermald[1143]: Set : 82000, 84000, 14, 0, -665037952
Jan 12 01:42:30 aep-haswell thermald[1143]: update_pid 1421008950 1421008950 1000 500 84500
Jan 12 01:42:30 aep-haswell thermald[1143]: Read set point 0
Jan 12 01:42:30 aep-haswell thermald[1143]: storing set point 84500
Jan 12 01:42:30 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:30 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:30 aep-haswell thermald[1143]: Set : 84500, 86000, 14, 0, -665037952
Jan 12 01:42:34 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:34 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:34 aep-haswell thermald[1143]: Set : 84500, 86000, 14, 0, -665037952
Jan 12 01:42:38 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:38 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:38 aep-haswell thermald[1143]: Set : 84500, 86000, 14, 0, -665037952
Jan 12 01:42:42 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:42 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:42 aep-haswell thermald[1143]: Set : 84500, 86000, 14, 0, -665037952
Jan 12 01:42:46 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:46 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:46 aep-haswell thermald[1143]: Set : 84500, 85000, 14, 0, -665037952
Jan 12 01:42:50 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:50 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:50 aep-haswell thermald[1143]: Set : 84500, 87000, 14, 0, -665037952
Jan 12 01:42:54 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:54 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:54 aep-haswell thermald[1143]: Set : 84500, 86000, 14, 0, -665037952
Jan 12 01:42:58 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:42:58 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:42:58 aep-haswell thermald[1143]: Set : 84500, 86000, 14, 0, -665037952
Jan 12 01:43:02 aep-haswell thermald[1143]: update_pid 1421008982 1421008950 3000 1509,61 83491
Jan 12 01:43:02 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:02 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:02 aep-haswell thermald[1143]: Set : 83491, 88000, 14, 0, -665037952
Jan 12 01:43:06 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:06 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:06 aep-haswell thermald[1143]: Set : 83491, 87000, 14, 0, -665037952
Jan 12 01:43:10 aep-haswell thermald[1143]: update_pid 1421008990 1421008982 3000 1512 83488
Jan 12 01:43:10 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:10 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:10 aep-haswell thermald[1143]: Set : 83488, 88000, 14, 0, -665037952
Jan 12 01:43:14 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:14 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:14 aep-haswell thermald[1143]: Set : 83488, 88000, 14, 0, -665037952
Jan 12 01:43:18 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:18 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:18 aep-haswell thermald[1143]: Set : 83488, 88000, 14, 0, -665037952
Jan 12 01:43:22 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:22 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:22 aep-haswell thermald[1143]: Set : 83488, 88000, 14, 0, -665037952
Jan 12 01:43:26 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:26 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:26 aep-haswell thermald[1143]: Set : 83488, 88000, 14, 0, -665037952
Jan 12 01:43:30 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:30 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:30 aep-haswell thermald[1143]: Set : 83488, 88000, 14, 0, -665037952
Jan 12 01:43:34 aep-haswell thermald[1143]: update_pid 1421009014 1421008990 4000 2021,6 82979
Jan 12 01:43:34 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:34 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:34 aep-haswell thermald[1143]: Set : 82979, 89000, 14, 0, -665037952
Jan 12 01:43:38 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:38 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:38 aep-haswell thermald[1143]: Set : 82979, 88000, 14, 0, -665037952
Jan 12 01:43:42 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:42 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:42 aep-haswell thermald[1143]: Set : 82979, 88000, 14, 0, -665037952
Jan 12 01:43:46 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:46 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:46 aep-haswell thermald[1143]: Set : 82979, 87000, 14, 0, -665037952
Jan 12 01:43:50 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:43:50 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:43:50 aep-haswell thermald[1143]: Set : 82000, 82000, 14, 0, -665037952
Jan 12 01:44:10 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:10 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:10 aep-haswell thermald[1143]: Set : 82979, 85000, 14, 0, -665037952
Jan 12 01:44:14 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:14 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:14 aep-haswell thermald[1143]: Set : 82979, 87000, 14, 0, -665037952
Jan 12 01:44:18 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:18 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:18 aep-haswell thermald[1143]: Set : 82979, 84000, 14, 0, -665037952
Jan 12 01:44:26 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:26 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:26 aep-haswell thermald[1143]: Set : 82979, 85000, 14, 0, -665037952
Jan 12 01:44:34 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:34 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:34 aep-haswell thermald[1143]: Set : 82979, 86000, 14, 0, -665037952
Jan 12 01:44:38 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:38 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:38 aep-haswell thermald[1143]: Set : 82979, 86000, 14, 0, -665037952
Jan 12 01:44:42 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:42 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:42 aep-haswell thermald[1143]: Set : 82979, 88000, 14, 0, -665037952
Jan 12 01:44:46 aep-haswell thermald[1143]: update_pid 1421009086 1421009014 4000 2050,4 82950
Jan 12 01:44:46 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:46 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:46 aep-haswell thermald[1143]: Set : 82950, 89000, 14, 0, -665037952
Jan 12 01:44:50 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:50 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:50 aep-haswell thermald[1143]: Set : 82950, 88000, 14, 0, -665037952
Jan 12 01:44:54 aep-haswell thermald[1143]: sysfs write failed constraint_0_power_limit_uw
Jan 12 01:44:54 aep-haswell thermald[1143]: set cdev state raw index 14 state 0 wr:-886717296
Jan 12 01:44:54 aep-haswell thermald[1143]: Set : 82950, 88000, 14, 0, -665037952
Jan 12 01:45:27 aep-haswell thermald[1143]: Dropped below poll threshold
Jan 12 01:45:27 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:45:27 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:45:27 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:45:27 aep-haswell thermald[1143]: thd_trip_cdev_state_reset
Jan 12 01:45:27 aep-haswell thermald[1143]: thd_trip_cdev_state_reset index 14:rapl_controller
Jan 12 01:45:28 aep-haswell thermald[1143]: Read set point 84500

I was able to fix (or work around) the issue with the following patch:

From bc0d9b22b07bee9814d328df65b84e40fc871787 Mon Sep 17 00:00:00 2001
From: "Alexander E. Patrakov" <[email protected]>
Date: Wed, 29 Oct 2014 22:57:39 +0500
Subject: [PATCH] Clamp insane power limits coming from hardware

Signed-off-by: Alexander E. Patrakov <[email protected]>

---
 src/thd_cdev_rapl.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/thd_cdev_rapl.cpp b/src/thd_cdev_rapl.cpp
index f83d801..1c3cef9 100644
--- a/src/thd_cdev_rapl.cpp
+++ b/src/thd_cdev_rapl.cpp
@@ -171,6 +171,12 @@ int cthd_sysfs_cdev_rapl::update() {
        thd_log_info("powercap RAPL invalid max power limit range \n");
        constraint_phy_max = 0;
    }
+   if (constraint_phy_max > 3 * phy_max) {
+       thd_log_info(
+               "Default constraint power limit is insane (%lu), clamping\n",
+               constraint_phy_max);
+       constraint_phy_max = 3 * phy_max / 2;
+   }
    if (constraint_phy_max > phy_max) {
        thd_log_info(
                "Default constraint power limit is more than max power %lu:%lu\n",
-- 
2.1.2

please provide a client to query the daemon

rrs@learner:~$ acpi -V
Battery 0: Discharging, 75%, 05:27:39 remaining
Battery 0: design capacity 4269 mAh, last full capacity 4270 mAh = 100%
Adapter 0: off-line
Thermal 0: ok, 29.8 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 105.0 degrees C
Thermal 0: trip point 1 switches to mode passive at temperature 108.0 degrees C
Thermal 1: ok, 27.8 degrees C
Thermal 1: trip point 0 switches to mode critical at temperature 105.0 degrees C
Thermal 1: trip point 1 switches to mode active at temperature 100.0 degrees C
Thermal 1: trip point 2 switches to mode active at temperature 55.0 degrees C
Cooling 0: x86_pkg_temp no state information available
Cooling 1: intel_powerclamp no state information available
Cooling 2: Processor 0 of 10
Cooling 3: Processor 0 of 10
Cooling 4: Processor 0 of 10
Cooling 5: Processor 0 of 10
Cooling 6: Fan 1 of 1
Cooling 7: Fan 1 of 1
Cooling 8: Fan 1 of 1
Cooling 9: Fan 1 of 1
Cooling 10: Fan 1 of 1
14:01 ♒♒♒ ☺

At this time, on the CLI, I use acpi to give me the temperature status. As you can see above, it is incorrect. The thermald project should provide a client to query the daemon on what the current status is for the machine

Weird CPU usage raising when thermald is running

When thermald is running, some tasks tend to require an unusually high percentage of CPU. I noticed this when watching a video (chromium's and firefox's html5 player) on Coursera: it would play perfectly for some time, then start eating up CPU.

This is the "normal" usage when watching a youtube video:

1

This is still the same youtube video playing, but after thermald was started (the CPU usage decreased, not bad):

2

This is after some time passed:

3

cpuFan and gfxFan

from my (subjective) view the (my) fans are not set by thermald.... My config is here: http://pastebin.com/NQ4vYrJF - anyways I bet I just can't configure this thing ;) Why I am writing is a direct consequence from this issue: It is pretty rough (for me) to extract useful information from the logging, neither "debug" nor "test-mode" or the regular logging helped me to debug my problem.

I've manually set both fans (using this kernel-module to control them asus-fan thus could be my lousy bug ) to a fixed value to hear the thermald changes, nothing happens, thus I thought (as both don't appear inside the log) the config file is not read. Inserting a parsing error, leads to a warning inside the log ;) to make it short, I would like to motivate the reorganization of the log-output:

  • startup: clearly mention each entity, without details, as user I would like to know who is how participating to the game (cooling devices, zones, sensors) and maybe their initial value and interval.
  • I get a lot of thd_trip_cdev_state_reset (11 in one second for me), (could also be a performance issue if it further scales) ...
  • In general my proposal would be, less technical more informal. E.g., I have not yet clearly managed to find out why my fans are not regulated. I don't whether this is me (hardware, kernel-module) or thermald (not seeing them, don't caring) . Thus a simple message like "Temp over X increasing cooling intensity using ZXY" could really help...
  • avoid redundancy (why is there i.e., 20mins after startup still a /sys/class/..../ path being shown)
  • and finally: a figure of merit : every now and then an overall view: "the computer is currently very hot (75°) and the cooling devices can't increase intensity" could also be formal like a "happines" ;D or "coolness" ...something I could log/show and easily adapt/understand....

Btw. I really like the dbus interface, very nice! Playing aruond with the shell-script, some feedback for this:

  • option 0-4 show alot of log-output, but seem not to change anything substantial.
  • setting min-temp with 5-6 also seems to have no immediate effect
  • 7-8 show up inside the log -> working (despite the fact, that terminate/disable mens spamming the log with nearly 6000(!) log-msgs within one second ;D)
  • the counts, means "H", "I" and "M" seem correct an reasonable
  • the sefl-tests seem to do nothing ("G", "F")
  • Trip information "L" leads to an assertion: marshal_collection_array: "assertion 'array != NULL' failedunable to append OUT arg of type GArray_gint_ for GetZoneTripAtIndex: NULLupdate_pid 1434147793 1434147785 60995 31195.3 -31190
  • "N" "J", "K" all deliver some information, but always only for the first item...

I added cmd-line argument pass-trough to the script, so now one gets the easy chance to browse through all sensors and stuff. Pull request pending if you wanna have it, surely add some more based on your interface ....

thanks for the great work, cheers

thermald crashed with signal 5 in main()

We've got a couple of Ubuntu users seeing a bug being trapped, I've debugged this down to a call g_private_set (&g_log_depth, GUINT_TO_POINTER (depth)) in glib from g_logv() (lib/gmessages.c), at the following point:

      depth--;
      g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));

It seems reproducable for some users when starting thermald using --no-daemon --dbus-enable. I've not been able to trigger this on a clean Ubuntu Vivid install.

https://bugs.launchpad.net/ubuntu/+source/thermald/+bug/1432220

Cannot understand configuration file

I cannot understand how to configure my fan control using thermald configuration file. Please, could you help me?

I have a dell latitude 3450 i5 5200u processor
Update2* I am using ubuntu 15.10 with all upgraded.

sensors output:

acpitz-virtual-0
Adapter: Virtual device
temp1: +25.0°C (crit = +107.0°C)
temp2: +27.8°C (crit = +100.0°C)
temp3: +29.8°C (crit = +100.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +44.0°C (high = +105.0°C, crit = +105.0°C)
Core 0: +44.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +44.0°C (high = +105.0°C, crit = +105.0°C)

dell_smm-virtual-0
Adapter: Virtual device
Processor Fan: 2895 RPM
CPU: +43.0°C
Other: +42.0°C
Ambient: +46.0°C
SODIMM: +41.0°C

Others output:

find /sys/class/hwmon/* -exec echo -n "{}: " ; -exec cat {}/name ;

/sys/class/hwmon/hwmon0: acpitz
/sys/class/hwmon/hwmon1: coretemp
/sys/class/hwmon/hwmon2: dell_smm

hwmon2 ls output:

ls /sys/class/hwmon/hwmon2/
fan1_input power temp1_input temp2_label temp4_input
fan1_label pwm1 temp1_label temp3_input temp4_label
name subsystem temp2_input temp3_label uevent

Here is my thermald configuration file:

http://pastebin.com/3MG6digN

I would like to know how to use intel pstate and fan control to keep the laptop a little hotter, but the fan speed a lot less. In windows 10 I can set the battery save mode and the fan wont turn on. I would like to have the same behavior in linux, but I cannot understand how to use the configuration file.

Update: I was reading on another post that thermald uses /sys/class/thermal for the cooling devices https://github.com/01org/thermal_daemon/issues/62

ls /sys/class/thermal/
cooling_device0 cooling_device4 cooling_device8 thermal_zone2
cooling_device1 cooling_device5 cooling_device9 thermal_zone3
cooling_device2 cooling_device6 thermal_zone0
cooling_device3 cooling_device7 thermal_zone1

Seems something went wrong...despite having inumerous devices, thermald did not configured anyone

cat /sys/class/thermal/cooling_device*/type
Fan
Fan
Fan
Fan
Fan
Processor
Processor
Processor
Processor
intel_powerclamp

Thanks.

Issue on starting daemon on arch linux

Built and installed successfully, when trying to run I get this:

sudo systemctl status thermald.service
thermald.service - Thermal Daemon Service
Loaded: loaded (/usr/lib/systemd/system/thermald.service; enabled)
Active: failed (Result: exit-code) since Sat 2013-05-11 11:27:52 IDT; 4s ago
Process: 3103 ExecStart=/usr/bin/thermald --no-daemon --dbus-enable (code=exited, status=203/EXEC)

May 11 11:27:52 ano systemd[1]: thermald.service: main process exited, code...EC
May 11 11:27:52 ano systemd[1]: Failed to start Thermal Daemon Service.
May 11 11:27:52 ano systemd[1]: Unit thermald.service entered failed state.

Question: logic check needed on thermald-conf.xml

Hi, I'm trying to configure thermald on an older Intel Core2 Duo laptop (currently running linux kernel 4.6.3). As this CPU does not support Intel RAPL or Intel Powerclamp I had to write a custom thermald-conf.xml. I wonder whether someone more knowledgeable could have a look at the xml config and advise on what could be improved. Thermald does start, yet I have a lot of 'csys_fs::read exception' messages in systemd's status output.

Here's my thermald config and some relevant output:
https://gist.github.com/dd32a00d1446647c2c716da6a1d1191c

If any additional info is needed, I'll be happy to oblige, regards.

Can I use thermald to stay below n degrees?

I just noticed that I had thermald installed and running on my arch linux running Dell XPS notebook for quite a while.

The CPU temperature is constantly around 58°C when idle, still the fan is running constantly. I believe the trigger temperature for the fan is about 50°C. Sadly the i8k module doesn't work for this model (can force it but freezes the system every 3 seconds).

So: can I setup thermald to keep the temperature below 50°C in normal conditions?

thermald stall my system (linux 3.18)

Hi people! I've done "some" tests and I got that running thermald in a linux system with kernel 3.18 (also with the 3.14) creates problems, at least at me. When the temperature go high and thermald has to intervene, the system totally lock. I think it's a kernel crash but I really don't know.
If I disable thermald the system halts instantly thanks to the hardware lifesaving mechanism.
If I use the kernel version 3.12 everything goes well and no strange crashes happened.

Anyone have an idea of why this happen and if this is caused by a kernel bug?

In addition, I use thermald in daemon mode with no additional parameters.

Here is the output of uname -a:
Linux kali 3.18.0-kali1-amd64 #1 SMP Debian 3.18.3-1~kali4 (2015-01-22) x86_64 GNU/Linux

Thanks in advance!!

thermald is constantly using 100% of one cpu on archlinux

I installed thermald on my Lenovo T420 today and it is using always 100% of one cpu ( I have four cores)

When I start thermald the following is being logged.
Jul 02 23:26:34 thor thermald[286]: 13 CPUID levels; family:model:stepping 0x6:2a:7 (6:42:7)
Jul 02 23:26:34 thor thermald[286]: Polling mode is enabled: 4
Jul 02 23:26:34 thor thermald[286]: Found Intel pstate driver

Some information on my system.

  • Archlinux 64bit
  • Intel(R) Core(TM) i5-2520M CPU
  • Kernel 3.9.8

The msr module is loaded

If you need any more information I would be glad to be off help.

By the way I am also the maintainer of the AUR thermald package: https://aur.archlinux.org/packages/thermald/

So you could also add the information on how to install it on Archlinux to the README

Core i7 - MSR READ Failed - MSR CONTROL WILL BE DISABLED

I'm tryingto reduce CPU temperature on my Lenovo Idapad Y510P but so far unsuccessful... I'm using Ubuntu 13.10 with kernel 3.12 (to ensure intel_pstate is enabled).

This is my themald log, can you help?

radenkovich@b4da55:~$ sudo thermald --no-daemon --loglevel=debug                 
checking UUID
UUID is [D979A716-11DD-11E3-BC0F-28D244253DA4]
checking product name
product name is[20217]
13 CPUID levels; family:model:stepping 0x6:3c:3 (6:60:3)
Polling mode is enabled: 4
powercap RAPL no long term time window
find_cdev_rapl not present 
Found Intel pstate driver 
MSR READ Failed 
Use Default pstate drv settings
cooling dev index:106, curr_state:0, max_state:10, unit:10,000000, min_com:0, type:
RAPL device for cpu 0
MSR READ Failed 
Domain : PKG Not present
MSR READ Failed 
Domain : PP0 Not present
MSR READ Failed 
Domain : PP1 Not present
MSR READ Failed 
MSR READ Failed 
MSR READ Failed 
power_units -1
energy_units -1
time_units -1
RAPL Domain mask: 0
MSR READ Failed 
update: Read MSR failed 
MSR READ Failed 
update: Read MSR failed 
MSR READ Failed 
update: Read MSR failed 
MSR CONTROL WILL BE DISABLED 
Added zone index:0 
zone dts syfs: /sys/devices/platform/coretemp.0/, package id 0 
Core temp DTS :critical 100000, max 84000
User defined max temperature 40000
Read set point 40000
DTS package temp thermal zone found
Default DTS processing for cpus mask = ffff
node type: Element, name: CoolingDevice value: CDEV_INTEL_RAPL_DRIVER
node type: Element, name: CoolingDevice value: CDEV_RAPL
node type: Element, name: CoolingDevice value: CDEV_INTEL_PSTATE_DRIVER
node type: Element, name: CoolingDevice value: CDEV_MSR_TURBO_STATES
node type: Element, name: CoolingDevice value: CDEV_MSR_PSTATES_PARTIAL
node type: Element, name: CoolingDevice value: CDEV_TURBO_ON_OFF
node type: Element, name: CoolingDevice value: CDEV_POWER_CLAMP
node type: Element, name: CoolingDevice value: CDEV_CPU_FREQ
node type: Element, name: CoolingDevice value: CDEV_MSR_PSTATES
node type: Element, name: CoolingDevice value: CDEV_T_STATES
Add trip pt 0:40000:0
- CDEV_INTEL_RAPL_DRIVER
- CDEV_RAPL
- CDEV_INTEL_PSTATE_DRIVER
add trip CDEV_INTEL_PSTATE_DRIVER_TURBO 109
add trip CDEV_INTEL_PSTATE_DRIVER 106
- CDEV_MSR_TURBO_STATES
- CDEV_MSR_PSTATES_PARTIAL
- CDEV_TURBO_ON_OFF
- CDEV_POWER_CLAMP
- CDEV_CPU_FREQ
add trip CDEV_CPU_FREQ 104
thd_trip_point_add_cdev_index not present 104
- CDEV_MSR_PSTATES
- CDEV_T_STATES
CDEVS order specified in thermal-cdev-order.xml
FD = 6
Current user preference is 0
Start main loop
thd_engine_thread begin
poll exit 0 
dts 0: temp 52000 zone_temp 52000
dts 1: temp 52000 zone_temp 52000
dts 2: temp 47000 zone_temp 52000
dts 3: temp 50000 zone_temp 52000
dts 4: temp 48000 zone_temp 52000
Trend increase start 1387033372
update_pid 1387033372 1387033372 12000 6000 34000
Read set point 40000
update_set_point 52000,0,35000
new set point 35000 
Updating temp notify thresholds 
pref 0 type 0
P T states Trip point applicable 
Trip point applicable >  0:35000 
cdev size for this trippoint 2
cdev at index 109
>>thd_cdev_set_state index:109 state:1
thd_cdev_set_109:curr state 0 max state 1
op->device: 1
set cdev state index 109 state 1 percent 1
Set : 35000, 52000, 109, 1, 1
<<thd_cdev_set_state 1
poll exit 1 
wakeup fd event
Receieved message 6
poll exit 0
radenkovich@b4da55:~$ cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 60
model name  : Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz
stepping    : 3
microcode   : 0x16
cpu MHz     : 799.968
cache size  : 6144 KB
physical id : 0
siblings    : 8
core id     : 0
cpu cores   : 4
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 4789.14
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:
...

Non-dbus and non-glib builds

Hi,

I have started forking thermal_daemon to offer a non-DBUS and non-GLIB build since I am using it an embedded context. I would remove DBUS completely (at runtime) and use libevent for the event-loop. Is this something you would be willing to accept as a contribution?

Thanks!

pstate and high idle

I am on Manjaro on a IVB i7 laptop. Using pstate with 3.11 kernel, I noticed that the idle temperature have gone up by four degrees around 51C compared to an average of 45C with the older 3.4 kernel which used cpu-freq. However with thermal daemon, the idle has not been affected but the peak CPU temp has gone down drastically, even under sustained heavy load where previously the CPU could get close to 90C, it now gets up to 78C max which is truly a testament to the Thermal Daemon. However I was wondering if the algorithm to make the CPU run cooler at idle would work out well in favor of this program as it would also means less power consumption in general which with battery running would be an added boon.

sysfs read failed /sys/class/powercap/intel-rapl/ entries

I have some"warnings" about read fail in journalctl:

lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/power/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/enabled/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/name/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/power/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/enabled/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/device/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/subsystem/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_name/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_name/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_max_power_uw/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/uevent/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/max_energy_range_uj/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_max_power_uw/name
lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us/name**
lis 27 09:00:20 arch thermald[580]: RAPL domain count 0
**lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/subsystem/name**
**lis 27 09:00:20 arch thermald[580]: sysfs read failed /sys/class/powercap/intel-rapl/uevent/name**
lis 27 09:00:20 arch thermald[580]: RAPL domain count 1
lis 27 09:00:20 arch thermald[580]: 13 CPUID levels; family:model:stepping 0x6:3a:9 (6:58:9)
lis 27 09:00:20 arch thermald[580]: Polling mode is enabled: 4
lis 27 09:00:20 arch thermald[580]: sensor_update: type acpitz
lis 27 09:00:20 arch thermald[580]: sensor_update: type x86_pkg_temp
lis 27 09:00:20 arch thermald[580]: thd_read_default_thermal_sensors loaded 2 sensors
**lis 27 09:00:20 arch thermald[580]: dts /sys/devices/platform/coretemp.0/name doesn't exist**
**lis 27 09:00:20 arch thermald[580]: failed to open /dev/acpi_thermal_rel**
**lis 27 09:00:20 arch thermald[580]: failed to open /dev/acpi_thermal_rel**
lis 27 09:00:20 arch thermald[580]: TRT/ART read failed
lis 27 09:00:20 arch thermald[580]: Dumping parsed XML Data
lis 27 09:00:20 arch thermald[580]: *** Index 0 ***
lis 27 09:00:20 arch thermald[580]: Name: GenericX86LaptopDevice
lis 27 09:00:20 arch thermald[580]: UUID:
lis 27 09:00:20 arch thermald[580]: type: 0
lis 27 09:00:20 arch thermald[580]: Sensor 0
lis 27 09:00:20 arch thermald[580]: Name: TSKN
lis 27 09:00:20 arch thermald[580]: Path:
lis 27 09:00:20 arch thermald[580]: Async Capable: 1
lis 27 09:00:20 arch thermald[580]: Zone 0
lis 27 09:00:20 arch thermald[580]: Name: SKIN
lis 27 09:00:20 arch thermald[580]: Trip Point 0
lis 27 09:00:20 arch thermald[580]: temp 55000
lis 27 09:00:20 arch thermald[580]: trip type 2
lis 27 09:00:20 arch thermald[580]: hyst id 0
lis 27 09:00:20 arch thermald[580]: sensor type TSKN
lis 27 09:00:20 arch thermald[580]: cdev index 0
lis 27 09:00:20 arch thermald[580]: type rapl_controller
lis 27 09:00:20 arch thermald[580]: influence 100
lis 27 09:00:20 arch thermald[580]: SamplingPeriod 16
lis 27 09:00:20 arch thermald[580]: cdev index 1
lis 27 09:00:20 arch thermald[580]: type intel_powerclamp
lis 27 09:00:20 arch thermald[580]: influence 100
lis 27 09:00:20 arch thermald[580]: SamplingPeriod 12
lis 27 09:00:20 arch thermald[580]: *** Index 1 ***
lis 27 09:00:20 arch thermald[580]: Name: ExamplePlatformName
lis 27 09:00:20 arch thermald[580]: UUID: ExampleUUID
lis 27 09:00:20 arch thermald[580]: type: 0
lis 27 09:00:20 arch thermald[580]: Sensor 0
lis 27 09:00:20 arch thermald[580]: Name: TSKN
lis 27 09:00:20 arch thermald[580]: Path:
lis 27 09:00:20 arch thermald[580]: Async Capable: 1
lis 27 09:00:20 arch thermald[580]: Sensor 1
lis 27 09:00:20 arch thermald[580]: Name: example_sensor_1
lis 27 09:00:20 arch thermald[580]: Path: /some_path
lis 27 09:00:20 arch thermald[580]: Async Capable: 0
lis 27 09:00:20 arch thermald[580]: Sensor 2
lis 27 09:00:20 arch thermald[580]: Name: example_thermal_sysfs_sensor
lis 27 09:00:20 arch thermald[580]: Path:
lis 27 09:00:20 arch thermald[580]: Async Capable: 1
lis 27 09:00:20 arch thermald[580]: Zone 0
lis 27 09:00:20 arch thermald[580]: Name: ExampleZonetype
lis 27 09:00:20 arch thermald[580]: Trip Point 0
lis 27 09:00:20 arch thermald[580]: temp 75000
lis 27 09:00:20 arch thermald[580]: trip type 1
lis 27 09:00:20 arch thermald[580]: hyst id 0
lis 27 09:00:20 arch thermald[580]: sensor type example_sensor_1
lis 27 09:00:20 arch thermald[580]: cdev index 0
lis 27 09:00:20 arch thermald[580]: type example_cooling_device
lis 27 09:00:20 arch thermald[580]: influence 100
lis 27 09:00:20 arch thermald[580]: SamplingPeriod 12
lis 27 09:00:20 arch thermald[580]: Cooling Dev 0
lis 27 09:00:20 arch thermald[580]: Type: example_cooling_device
lis 27 09:00:20 arch thermald[580]: Path:
lis 27 09:00:20 arch thermald[580]: Min: 0
lis 27 09:00:20 arch thermald[580]: Max: 50
lis 27 09:00:20 arch thermald[580]: Step: 10
lis 27 09:00:20 arch thermald[580]: AutoDownControl: 0
lis 27 09:00:20 arch thermald[580]: PID: Kp 0,000000
lis 27 09:00:20 arch thermald[580]: PID: Ki 0,000000
lis 27 09:00:20 arch thermald[580]: PID: Kd 0,000000
lis 27 09:00:20 arch thermald[580]: Product Name matched [wildcard]
lis 27 09:00:20 arch thermald[580]: sensor id 5: No temp sysfs for reading raw temp
lis 27 09:00:20 arch thermald[580]: sensor index:0 acpitz Async:1
lis 27 09:00:20 arch thermald[580]: sensor index:1 x86_pkg_temp Async:1
lis 27 09:00:20 arch thermald[580]: sensor index:2 hwmon Async:0
lis 27 09:00:20 arch thermald[580]: sensor index:3 hwmon Async:0
lis 27 09:00:20 arch thermald[580]: sensor index:4 hwmon Async:0
lis 27 09:00:20 arch thermald[580]: thd_read_default_cooling devices loaded 11 cdevs
lis 27 09:00:20 arch thermald[580]: powercap RAPL max power limit range 45000000
lis 27 09:00:20 arch thermald[580]: set_pid_param 11 [1000.100,10]
lis 27 09:00:20 arch thermald[580]: Use Default pstate drv settings
lis 27 09:00:20 arch thermald[580]: Product Name matched [wildcard]
lis 27 09:00:20 arch thermald[580]: name = package-0
lis 27 09:00:20 arch thermald[580]: name = core
lis 27 09:00:20 arch thermald[580]: name = uncore
lis 27 09:00:20 arch thermald[580]: 0: LCD, C:0 MN: 0 MX:10 ST:5 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 1: LCD, C:0 MN: 0 MX:10 ST:1 pt:/sys/class/thermal/ rd_bk 1
lis 27 09:00:20 arch thermald[580]: 2: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 3: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 4: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 5: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 6: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 7: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 8: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 9: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 10: intel_powerclamp, C:-1 MN: 0 MX:50 ST:5 pt:/sys/class/thermal/ rd_bk 0
lis 27 09:00:20 arch thermald[580]: 11: rapl_controller, C:0 MN: 0 MX:33750000 ST:2250000 pt:/sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/ rd_bk 1
lis 27 09:00:20 arch thermald[580]: 12: intel_pstate, C:0 MN: 0 MX:10 ST:1 pt:/sys/devices/system/cpu/intel_pstate/ rd_bk 1
lis 27 09:00:20 arch thermald[580]: zone acpitz bounded
lis 27 09:00:20 arch thermald[580]: zone acpitz bounded
lis 27 09:00:20 arch thermald[580]: zone acpitz bounded
lis 27 09:00:20 arch thermald[580]: zone acpitz bounded
lis 27 09:00:20 arch thermald[580]: Sorted trip dump :
lis 27 09:00:20 arch thermald[580]: index 0: type:critical temp:108000 hyst:1 zone id:0 sensor id:0 cdev size:0
lis 27 09:00:20 arch thermald[580]: index 1: type:passive temp:110000 hyst:1 zone id:0 sensor id:0 cdev size:1
lis 27 09:00:20 arch thermald[580]: cdev[0] Processor
lis 27 09:00:20 arch thermald[580]: trip type: 0 temp: 108000
lis 27 09:00:20 arch thermald[580]: trip type: 2 temp: 110000
lis 27 09:00:20 arch thermald[580]: sysfs write failed trip_point_0_temp
lis 27 09:00:20 arch thermald[580]: thd_read_default_thermal_zones loaded 1 zones
lis 27 09:00:20 arch thermald[580]: zone cpu will be created
lis 27 09:00:20 arch thermald[580]: dts zone /sys/devices/platform/coretemp.0/name doesn't exist
lis 27 09:00:20 arch thermald[580]: /sys/class/hwmon/hwmon0/name->coretemp
lis 27 09:00:20 arch thermald[580]: Core temp DTS :critical 105000, max 87000
lis 27 09:00:20 arch thermald[580]: Read set point 93500
lis 27 09:00:20 arch thermald[580]: node type: Element, name: CoolingDevice value: rapl_controller
lis 27 09:00:20 arch thermald[580]: node type: Element, name: CoolingDevice value: intel_pstate
lis 27 09:00:20 arch thermald[580]: node type: Element, name: CoolingDevice value: intel_powerclamp
lis 27 09:00:20 arch thermald[580]: node type: Element, name: CoolingDevice value: cpufreq
lis 27 09:00:20 arch thermald[580]: node type: Element, name: CoolingDevice value: Processor
lis 27 09:00:20 arch thermald[580]: CDEVS order specified in thermal-cpu-cdev-order.xml
lis 27 09:00:20 arch thermald[580]: Sorted trip dump :
lis 27 09:00:20 arch thermald[580]: index 1: type:passive temp:87000 hyst:0 zone id:1 sensor id:65535 cdev size:4
lis 27 09:00:20 arch thermald[580]: cdev[0] rapl_controller
lis 27 09:00:20 arch thermald[580]: cdev[1] intel_pstate
lis 27 09:00:20 arch thermald[580]: cdev[2] intel_powerclamp
lis 27 09:00:20 arch thermald[580]: cdev[3] Processor
lis 27 09:00:20 arch thermald[580]: index 0: type:max temp:93500 hyst:0 zone id:1 sensor id:65535 cdev size:4
lis 27 09:00:20 arch thermald[580]: cdev[0] rapl_controller
lis 27 09:00:20 arch thermald[580]: cdev[1] intel_pstate
lis 27 09:00:20 arch thermald[580]: cdev[2] intel_powerclamp
lis 27 09:00:20 arch thermald[580]: cdev[3] Processor
lis 27 09:00:20 arch thermald[580]: trip type: 2 temp: 87000
lis 27 09:00:20 arch thermald[580]: trip type: 1 temp: 93500
lis 27 09:00:20 arch thermald[580]: Read set point 93500
lis 27 09:00:20 arch thermald[580]: Read set point 93500
lis 27 09:00:20 arch thermald[580]: /sys/class/hwmon/hwmon1/name->asus
lis 27 09:00:20 arch thermald[580]: Product Name matched [wildcard]
lis 27 09:00:20 arch thermald[580]: XML zone: invalid sensor type TSKN
lis 27 09:00:20 arch thermald[580]: Zone update failed: unable to bind
lis 27 09:00:20 arch thermald[580]: Zone 0: acpitz, Active:0 Bind:1 Sensor_cnt:1
lis 27 09:00:20 arch thermald[580]: ..sensors..
lis 27 09:00:20 arch thermald[580]: sensor index:0 acpitz Async:1
lis 27 09:00:20 arch thermald[580]: ..trips..
lis 27 09:00:20 arch thermald[580]: index 0: type:critical temp:108000 hyst:1 zone id:0 sensor id:0 cdev size:0
lis 27 09:00:20 arch thermald[580]: index 1: type:passive temp:110000 hyst:1 zone id:0 sensor id:0 cdev size:1
lis 27 09:00:20 arch thermald[580]: cdev[0] Processor
lis 27 09:00:20 arch thermald[580]: index 2: type:polling temp:103000 hyst:0 zone id:0 sensor id:0 cdev size:0
lis 27 09:00:20 arch thermald[580]: Zone 1: cpu, Active:1 Bind:0 Sensor_cnt:1
lis 27 09:00:20 arch thermald[580]: ..sensors..
lis 27 09:00:20 arch thermald[580]: sensor index:1 x86_pkg_temp Async:1
lis 27 09:00:20 arch thermald[580]: ..trips..
lis 27 09:00:20 arch thermald[580]: index 1: type:passive temp:87000 hyst:0 zone id:1 sensor id:65535 cdev size:4
lis 27 09:00:20 arch thermald[580]: cdev[0] rapl_controller
lis 27 09:00:20 arch thermald[580]: cdev[1] intel_pstate
lis 27 09:00:20 arch thermald[580]: cdev[2] intel_powerclamp
lis 27 09:00:20 arch thermald[580]: cdev[3] Processor
lis 27 09:00:20 arch thermald[580]: index 0: type:max temp:93500 hyst:0 zone id:1 sensor id:65535 cdev size:4
lis 27 09:00:20 arch thermald[580]: cdev[0] rapl_controller
lis 27 09:00:20 arch thermald[580]: cdev[1] intel_pstate
lis 27 09:00:20 arch thermald[580]: cdev[2] intel_powerclamp
lis 27 09:00:20 arch thermald[580]: cdev[3] Processor
lis 27 09:00:20 arch thermald[580]: index 2: type:polling temp:74000 hyst:0 zone id:1 sensor id:1 cdev size:0
lis 27 09:00:20 arch thermald[580]: FD = 8
lis 27 09:00:20 arch thermald[580]: Current user preference is 0
lis 27 09:00:20 arch thermald[580]: thd_engine_thread begin

anyway: service working good:

[tomasz@arch ~]$ sudo systemctl status thermald -l
[sudo] password for tomasz: 
● thermald.service - Thermal Daemon Service
   Loaded: loaded (/usr/lib/systemd/system/thermald.service; enabled)
   Active: active (running) since czw 2014-11-27 09:00:20 CET; 8min ago
 Main PID: 580 (thermald)
   CGroup: /system.slice/thermald.service
           └─580 /usr/bin/thermald --no-daemon --dbus-enable

lis 27 09:00:20 arch thermald[580]: cdev[3] Processor
lis 27 09:00:20 arch thermald[580]: index 0: type:max temp:93500 hyst:0 zone id:1 sensor id:65535 cdev size:4
lis 27 09:00:20 arch thermald[580]: cdev[0] rapl_controller
lis 27 09:00:20 arch thermald[580]: cdev[1] intel_pstate
lis 27 09:00:20 arch thermald[580]: cdev[2] intel_powerclamp
lis 27 09:00:20 arch thermald[580]: cdev[3] Processor
lis 27 09:00:20 arch thermald[580]: index 2: type:polling temp:74000 hyst:0 zone id:1 sensor id:1 cdev size:0
lis 27 09:00:20 arch thermald[580]: FD = 8
lis 27 09:00:20 arch thermald[580]: Current user preference is 0
lis 27 09:00:20 arch thermald[580]: thd_engine_thread begin

[tomasz@arch ~]$ tree /sys/class/powercap/intel-rapl/
/sys/class/powercap/intel-rapl/
├── enabled
├── intel-rapl:0
│   ├── constraint_0_max_power_uw
│   ├── constraint_0_name
│   ├── constraint_0_power_limit_uw
│   ├── constraint_0_time_window_us
│   ├── constraint_1_max_power_uw
│   ├── constraint_1_name
│   ├── constraint_1_power_limit_uw
│   ├── constraint_1_time_window_us
│   ├── device -> ../../intel-rapl
│   ├── enabled
│   ├── energy_uj
│   ├── intel-rapl:0:0
│   │   ├── constraint_0_max_power_uw
│   │   ├── constraint_0_name
│   │   ├── constraint_0_power_limit_uw
│   │   ├── constraint_0_time_window_us
│   │   ├── device -> ../../intel-rapl:0
│   │   ├── enabled
│   │   ├── energy_uj
│   │   ├── max_energy_range_uj
│   │   ├── name
│   │   ├── power
│   │   │   ├── async
│   │   │   ├── autosuspend_delay_ms
│   │   │   ├── control
│   │   │   ├── runtime_active_kids
│   │   │   ├── runtime_active_time
│   │   │   ├── runtime_enabled
│   │   │   ├── runtime_status
│   │   │   ├── runtime_suspended_time
│   │   │   └── runtime_usage
│   │   ├── subsystem -> ../../../../../../class/powercap
│   │   └── uevent
│   ├── intel-rapl:0:1
│   │   ├── constraint_0_max_power_uw
│   │   ├── constraint_0_name
│   │   ├── constraint_0_power_limit_uw
│   │   ├── constraint_0_time_window_us
│   │   ├── device -> ../../intel-rapl:0
│   │   ├── enabled
│   │   ├── energy_uj
│   │   ├── max_energy_range_uj
│   │   ├── name
│   │   ├── power
│   │   │   ├── async
│   │   │   ├── autosuspend_delay_ms
│   │   │   ├── control
│   │   │   ├── runtime_active_kids
│   │   │   ├── runtime_active_time
│   │   │   ├── runtime_enabled
│   │   │   ├── runtime_status
│   │   │   ├── runtime_suspended_time
│   │   │   └── runtime_usage
│   │   ├── subsystem -> ../../../../../../class/powercap
│   │   └── uevent
│   ├── max_energy_range_uj
│   ├── name
│   ├── power
│   │   ├── async
│   │   ├── autosuspend_delay_ms
│   │   ├── control
│   │   ├── runtime_active_kids
│   │   ├── runtime_active_time
│   │   ├── runtime_enabled
│   │   ├── runtime_status
│   │   ├── runtime_suspended_time
│   │   └── runtime_usage
│   ├── subsystem -> ../../../../../class/powercap
│   └── uevent
├── power
│   ├── async
│   ├── autosuspend_delay_ms
│   ├── control
│   ├── runtime_active_kids
│   ├── runtime_active_time
│   ├── runtime_enabled
│   ├── runtime_status
│   ├── runtime_suspended_time
│   └── runtime_usage
├── subsystem -> ../../../../class/powercap
└── uevent

Distro: Arch Linux x86_64
CPU: Intel(R) Core(TM) i7-3610QM

Regards

scan-build detects issues on static analysis of ThermalMonitor

Building/static analysis with clang's scan build has found some potential issues with ThermalMonitor:

built using clang 3.8.0-2ubuntu3 (tags/RELEASE_380/final):

scan-build make

qcustomplot/qcustomplot.cpp:2837:31: warning: Division by zero
return mElements.at(index / columnCount()).at(index % columnCount());
~~~~~~^~~~~~~~~~~~~~~
qcustomplot/qcustomplot.cpp:2837:57: warning: Division by zero
return mElements.at(index / columnCount()).at(index % columnCount());
~~~~~~^~~~~~~~~~~~~~~
qcustomplot/qcustomplot.cpp:2848:21: warning: Division by zero
mElements[index / columnCount()][index % columnCount()] = 0;
~~~~~~^~~~~~~~~~~~~~~
qcustomplot/qcustomplot.cpp:2848:44: warning: Division by zero
mElements[index / columnCount()][index % columnCount()] = 0;
~~~~~~^~~~~~~~~~~~~~~
qcustomplot/qcustomplot.cpp:7140:5: warning: Potential memory leak
return true;
^~~~~~~~~~~
qcustomplot/qcustomplot.cpp:18291:39: warning: The left operand of '-' is a garbage value
result += qAbs(upperPixelWidth-lowerPixelWidth)*0.5; // half of center bar
~~~~~~~~~~~~~~~^
qcustomplot/qcustomplot.cpp:19076:59: warning: The right operand of '+' is a garbage value
keyPixel = mKeyAxis.data()->coordToPixel(range.upper) + upperPixelWidth;
^ ~~~~~~~~~~~~~~~
qcustomplot/qcustomplot.cpp:19380:9: warning: Function call argument is an uninitialized value
if (keyRange.contains(posKey) && valueRange.contains(posValue))
^~~~~~~~~~~~~~~~~~~~~~~~~
qcustomplot/qcustomplot.cpp:20310:9: warning: Function call argument is an uninitialized value
if (mMapData->keyRange().contains(posKey) && mMapData->valueRange().contains(posValue))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
qcustomplot/qcustomplot.cpp:21365:11: warning: Function call argument is an uninitialized value
if (boxKeyRange.contains(posKey) && boxValueRange.contains(posValue)) // is in open-close-box
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
qcustomplot/qcustomplot.cpp:21389:11: warning: Function call argument is an uninitialized value
if (boxKeyRange.contains(posKey) && boxValueRange.contains(posValue)) // is in open-close-box
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 warnings generated.

Handling of no_turbo

To my understanding, writing a "1" to the no_turbo file in the intel_pstate sys directory will prevent the CPU from entering turbo frequencies. When a "1" is manually written to the no_turbo file, and then thermald is ran using the systemd service, thermald overwrites the manual assignment and enables turbo, writing a "0" as the value of no_turbo. Is there a way to prevent thermald from overriding manual assignment of the no_turbo value?

Arch Linux 64 bit
Using the thermald package from the AUR modified to use the recently released thermald 1.4

ThermalMonitor segfaults when it is closed

Building on Ubuntu 16.10 Yakkety; exiting ThermalMonitor by closing the window trips a SEGV.

gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc-5.real
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-4ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-4ubuntu1)

Program received signal SIGSEGV, Segmentation fault.
0x0000000200000001 in ?? ()
(gdb) where
#0 0x0000000200000001 in ?? ()
#1 0x000055555556b8ee in MainWindow::~MainWindow (this=0x7fffffffe120,

__in_chrg=<optimised out>) at mainwindow.cpp:118

#2 0x00005555555692c2 in main (argc=1, argv=) at main.cpp:55

Use ondemand governor instead of userspace

Hi,

Thermal daemon sets the governor to userspace, and then plays with the available frequencies by setting the values to /sys/devices/system/cpu/cpu*/cpufreq/scaling_setspeed.

This means that the frequency for all cores will be set to a fixed value. Which means that idle cores will be set to this value instead of the lowest one available (which is a bad idea for cooling the system)

Instead of doing that, I think it will be a better idea to leave the governor to ondemand and write the desired frequency to /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq

This way you put a cap on the maximum frequency ondemand will use. This allows idle cores to continue at the lowest frequency possible while active cores are set to this maximum frequency.

Once the system got cool enough you can remove the cap by writing the high frequency available maxof(/sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies) to cpufreq/scaling_max_freq.

error: expected primary-expression before ‘.’ token

Compiling the code gives me:

src/thd_engine.cpp:504:4: error: expected primary-expression before ‘.’ token
src/thd_engine.cpp:504:15: error: expected primary-expression before ‘.’ token
src/thd_engine.cpp:505:4: error: expected primary-expression before ‘.’ token
src/thd_engine.cpp:505:15: error: expected primary-expression before ‘.’ token
src/thd_engine.cpp:506:4: error: expected primary-expression before ‘.’ token
src/thd_engine.cpp:506:15: error: expected primary-expression before ‘.’ token
src/thd_engine.cpp:507:4: error: expected primary-expression before ‘.’ token
src/thd_engine.cpp:507:15: error: expected primary-expression before ‘.’ token
src/thd_engine.cpp:509:4: error: expected primary-expression before ‘.’ token
src/thd_engine.cpp:509:15: error: expected primary-expression before ‘.’ token

thermald aggressive configuration to prevent shutdown

Hi! I've a sony vaio laptop with lost of overheating problem. On my linux system when I try to run eclipse luna I got shutdown by overheating. Thermald does not handle my situation with the standard configuration.
I've read the manual page on thermal-conf.xml but without results. Does someone have an idea on how to create an aggressive behavior that shrink down the cpu freq when a certain temp is reached? How could I do this??

Thanks very much!

Haswell, thermald 1.5.3-1 ARCH - TRT/ART failed, sysfs read/write failed

Arch x64

Linux-ck 4.3.6

Mar 07 12:27:22 petterk-linux systemd[1]: Starting Thermal Daemon Service...
Mar 07 12:27:22 petterk-linux systemd[1]: Started Thermal Daemon Service.
Mar 07 12:27:22 petterk-linux thermald[622]: 13 CPUID levels; family:model:stepping 0x6:45:1 (6:69:1)
Mar 07 12:27:22 petterk-linux thermald[622]: Polling mode is enabled: 4
Mar 07 12:27:22 petterk-linux thermald[622]:  failed to GET COUNT on /dev/acpi_thermal_rel
Mar 07 12:27:22 petterk-linux thermald[622]:  failed to GET COUNT on /dev/acpi_thermal_rel
Mar 07 12:27:22 petterk-linux thermald[622]: TRT/ART read failed
Mar 07 12:27:22 petterk-linux thermald[622]: sysfs read failed constraint_0_max_power_uw
Mar 07 12:27:22 petterk-linux thermald[622]: sysfs write failed trip_point_0_temp

Issues with thermald and real time kernel.

Hi, I'm using a real time kernel from Debian testing repos. 3.14-2-rt-amd64 on a MacBook Pro 8,1.
After installing thermald either from the Debian repos or from the master branch of this repo, I get errors as the following in dmesg and in syslog. Full output of dmesg is at https://gist.github.com/rvega/c72883dc1de40857b7ac. I also posted this to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=761290

[ 39.776121] BUG: scheduling while atomic: Xorg/1007/0x00010001
[ 39.776123] BUG: scheduling while atomic: swapper/2/0/0x00010002
.....
[ 39.776221] CPU: 1 PID: 1007 Comm: Xorg Tainted: P O 3.14-2-rt-
amd64 #1 Debian 3.14.15-2
[ 39.776222] Hardware name: Apple Inc. MacBookPro8,1/Mac-94245B3640C91C81,
BIOS MBP81.88Z.0047.B27.1201241646 01/24/12
[ 39.776223] ffff88026401db20 ffffffff814e04fc ffff88026401db20
ffffffff814dce83
[ 39.776224] ffffffff814e2cd8 0000000000065340 0000000000065340
ffff88026392ffd8
[ 39.776225] ffff88026401db20 ffff880267083ee0 ffff88026401e278
ffff88026401db20
[ 39.776225] Call Trace:
[ 39.776230] [] ? dump_stack+0x4a/0x75
[ 39.776232] [] ? __schedule_bug+0x96/0xa3
[ 39.776234] [] ? __schedule+0x5f8/0x670
[ 39.776235] [] ? schedule+0x27/0xa0
[ 39.776237] [] ? rt_spin_lock_slowlock+0xb5/0x220
[ 39.776240] [] ?
pkg_temp_thermal_platform_thermal_notify+0x3a/0x126 [x86_pkg_temp_thermal]
[ 39.776242] [] ? therm_throt_process+0x10/0x140
[ 39.776243] [] ? intel_thermal_interrupt+0x201/0x240
[ 39.776244] [] ? smp_thermal_interrupt+0x18/0x40
[ 39.776247] [] ? thermal_interrupt+0x6d/0x80
[ 39.776249] [] ?
system_call_fast_compare_end+0x10/0x15
[ 39.776251] CPU: 2 PID: 0 Comm: swapper/2 Tainted: P W O 3.14-2-rt-
amd64 #1 Debian 3.14.15-2
[ 39.776252] Hardware name: Apple Inc. MacBookPro8,1/Mac-94245B3640C91C81,
BIOS MBP81.88Z.0047.B27.1201241646 01/24/12
[ 39.776253] ffff8802655c32a0 ffffffff814e04fc ffff8802655c32a0
ffffffff814dce83
[ 39.776254] ffffffff814e2cd8 0000000000065340 0000000000065340
ffff8802655f5fd8
[ 39.776255] ffff8802655c32a0 ffff880267103ee0 ffff8802655c39f8
ffff8802655c32a0
[ 39.776255] Call Trace:
[ 39.776257] [] ? dump_stack+0x4a/0x75
[ 39.776259] [] ? __schedule_bug+0x96/0xa3
[ 39.776260] [] ? __schedule+0x5f8/0x670
[ 39.776261] [] ? schedule+0x27/0xa0
[ 39.776263] [] ? rt_spin_lock_slowlock+0xb5/0x220
[ 39.776266] [] ?
pkg_temp_thermal_platform_thermal_notify+0x3a/0x126 [x86_pkg_temp_thermal]
[ 39.776267] [] ? therm_throt_process+0x10/0x140
[ 39.776268] [] ? intel_thermal_interrupt+0x201/0x240
[ 39.776269] [] ? smp_thermal_interrupt+0x18/0x40
[ 39.776271] [] ? thermal_interrupt+0x6d/0x80
[ 39.776274] [] ? cpuidle_enter_state+0x4a/0xc0
[ 39.776276] [] ? cpuidle_enter_state+0x43/0xc0
[ 39.776277] [] ? cpuidle_idle_call+0xa9/0x220
[ 39.776279] [] ? arch_cpu_idle+0x5/0x30
[ 39.776281] [] ? cpu_startup_entry+0x91/0x280
[ 39.776284] [] ? start_secondary+0x1d7/0x280

Thermald is being too conservative on high temperatures

Hi,
I'm currently using thermald 1.3 on an HP Laptop with an Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz and Archlinux (Linux 3.18.2-2-ARCH #1 SMP PREEMPT x86_64 GNU/Linux) as OS.
Thermald behaves perfectly with normal use, even with high CPU usage, keeping my laptop under 50ºC on most cases and sometimes even under 45ºC, using little fan usage or even shutting it off.

But, when I play games which cause high GPU activity, the temperature goes up to 85ºC with ease, and the fan is still as quiet as when its over 50.

Of course this behavior is not desirable, as the metallic surface of the laptop starts to burn on touch and the electronics start to suffer a bit, and I think Thermald should speed up the fan when temperature goes over a certain thresold, as other cooling methods will obviously not decrease GPU temperature.

Link to my config file

Regards, Roberto.

Performance with one process at 100% and temperature at idle

Hi,

I’ve been running and not running thermald for some time now, and I’ve found two strange behaviour in my opinion.

The first one is a perf limitation when I run any program that uses 100% of a core for a measurable amount of time. The program run twice slower with thermald running, for example I have a python script that usually takes 6 min on my machine to complete, but takes 12 when thermald is running. When I look in htop, I see that the process is capped at 45-46% percent of one core with thermald enabled.

And time returns this (with thermald, without user and total are in agreement):
./script.py 357,76s user 0,07s system 49% cpu 11:56,63 total

The second strange behavior is the temperatures at idle. They seems to be quite higher with thermald running than without. I’m not sure and need to test properly that (like look at temperatures after 15 min of idle while starting from a cold boot), but I would say something like all CPUs reporting 40 °C without and 47 °C with thermald.

And for both issues, if I start my computer without thermald enabled and then enable it, they happen, but they don’t stop happening until I reboot my computer with thermald disabled, whether it started from boot or manually after.

Except for that, it seems to work quite well, I almost never hear my fans, and the computer never reach very high temperatures.

I’m running Arch Linux, and I’ve been observing this behavior ever since January when I first tried thermald.

I would be happy to provide you with any supplemental informations you could need and would be glad to test anything you might want in order to help you figure out the causes of those strange behavior and fix them.

Systemd build problem

I try to compile thermald in Mageia 5 rc but it will compile sources to init only not to systemd like should,can i force it to compile it to systemd only ?.

Thermald crashes early on after read_trip_points

Using Dell XPS 9350, on Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz, with Archlinux testing:

# uname -a
Linux eva 4.4.1-2-ARCH #1 SMP PREEMPT Wed Feb 3 13:12:33 UTC 2016 x86_64 GNU/Linux

Thermald (release 1.4.3) crashes immediately after startup:

# thermald --no-daemon --loglevel=debug
RAPL sysfs present 
RAPL base path /sys/class/powercap/intel-rapl/
RAPL domain dir power
 /sys/class/powercap/intel-rapl/power/name doesn't exist
RAPL domain dir enabled
 /sys/class/powercap/intel-rapl/enabled/name doesn't exist
RAPL domain dir intel-rapl:0
name package-0
RAPL base path /sys/class/powercap/intel-rapl/intel-rapl:0/
RAPL domain dir name
 /sys/class/powercap/intel-rapl/intel-rapl:0/name/name doesn't exist
RAPL domain dir power
 /sys/class/powercap/intel-rapl/intel-rapl:0/power/name doesn't exist
RAPL domain dir constraint_0_time_window_us
 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us/name doesn't exist
RAPL domain dir constraint_1_power_limit_uw
 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw/name doesn't exist
RAPL domain dir enabled
 /sys/class/powercap/intel-rapl/intel-rapl:0/enabled/name doesn't exist
RAPL domain dir device
 /sys/class/powercap/intel-rapl/intel-rapl:0/device/name doesn't exist
RAPL domain dir constraint_0_power_limit_uw
 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw/name doesn't exist
RAPL domain dir subsystem
 /sys/class/powercap/intel-rapl/intel-rapl:0/subsystem/name doesn't exist
RAPL domain dir constraint_0_name
 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_name/name doesn't exist
RAPL domain dir constraint_1_name
 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_name/name doesn't exist
RAPL domain dir energy_uj
 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj/name doesn't exist
RAPL domain dir constraint_1_max_power_uw
 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_max_power_uw/name doesn't exist
RAPL domain dir uevent
 /sys/class/powercap/intel-rapl/intel-rapl:0/uevent/name doesn't exist
RAPL domain dir max_energy_range_uj
 /sys/class/powercap/intel-rapl/intel-rapl:0/max_energy_range_uj/name doesn't exist
RAPL domain dir constraint_0_max_power_uw
 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_0_max_power_uw/name doesn't exist
RAPL domain dir constraint_1_time_window_us
 /sys/class/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us/name doesn't exist
RAPL domain dir intel-rapl:0:0
name core
RAPL domain dir intel-rapl:0:1
name uncore
RAPL domain dir intel-rapl:0:2
name dram
RAPL domain count 1
RAPL domain dir subsystem
 /sys/class/powercap/intel-rapl/subsystem/name doesn't exist
RAPL domain dir uevent
 /sys/class/powercap/intel-rapl/uevent/name doesn't exist
RAPL domain count 1
22 CPUID levels; family:model:stepping 0x6:4e:3 (6:78:3)
 Need Linux PowerCap sysfs 
Running on a vanilla kernel
Polling mode is enabled: 4
thd_read_default_thermal_sensors 
sensor_update: type INT3400
sensor_update: type B0D4
sensor_update: type GEN1
sensor_update: type SEN1
sensor_update: type SEN2
sensor_update: type acpitz
sensor_update: type x86_pkg_temp
thd_read_default_thermal_sensors loaded 7 sensors 
dts /sys/devices/platform/coretemp.0/name doesn't exist
 File Exists: file_name /usr/var/run/thermald/thermal-conf.xml.auto, so no regenerate
Using generated /usr/var/run/thermald/thermal-conf.xml.auto
 Dumping parsed XML Data
 *** Index 0 ***
Name: _TRTexport
UUID: 
type: 0
    Zone 0 
     Name: cpu
         Trip Point 0 
          temp 0 
          trip type 2 
          hyst id 0 
          sensor type hwmon 
          cdev index 0 
              type rapl_controller 
              influence 10 
              SamplingPeriod 5 
          cdev index 1 
              type rapl_controller_dram 
              influence 3 
              SamplingPeriod 10 
    Zone 1 
     Name: TMEM
         Trip Point 0 
          temp 0 
          trip type 2 
          hyst id 0 
          sensor type TMEM 
          cdev index 0 
              type rapl_controller 
              influence 8 
              SamplingPeriod 60 
          cdev index 1 
              type rapl_controller_dram 
              influence 6 
              SamplingPeriod 30 
    Zone 2 
     Name: SEN1
         Trip Point 0 
          temp 0 
          trip type 2 
          hyst id 0 
          sensor type SEN1 
          cdev index 0 
              type rapl_controller 
              influence 9 
              SamplingPeriod 30 
    Zone 3 
     Name: GEN1
         Trip Point 0 
          temp 0 
          trip type 2 
          hyst id 0 
          sensor type GEN1 
          cdev index 0 
              type rapl_controller 
              influence 3 
              SamplingPeriod 60 
    Zone 4 
     Name: SEN2
         Trip Point 0 
          temp 0 
          trip type 2 
          hyst id 0 
          sensor type SEN2 
          cdev index 0 
              type rapl_controller 
              influence 6 
              SamplingPeriod 30 
          cdev index 1 
              type rapl_controller_dram 
              influence 4 
              SamplingPeriod 30 
config product name [XPS139350] match with [XPS139350]
Product Name matched 
sensor index:0 INT3400 /sys/class/thermal/thermal_zone0/ Async:0 
sensor index:1 B0D4 /sys/class/thermal/thermal_zone1/ Async:0 
sensor index:2 GEN1 /sys/class/thermal/thermal_zone2/ Async:0 
sensor index:3 SEN1 /sys/class/thermal/thermal_zone3/ Async:0 
sensor index:4 SEN2 /sys/class/thermal/thermal_zone4/ Async:0 
sensor index:5 acpitz /sys/class/thermal/thermal_zone5/ Async:1 
sensor index:6 x86_pkg_temp /sys/class/thermal/thermal_zone6/ Async:1 
sensor index:7 hwmon /sys/class/hwmon/hwmon1/temp1_input Async:0 
sensor index:8 hwmon /sys/class/hwmon/hwmon1/temp2_input Async:0 
sensor index:9 hwmon /sys/class/hwmon/hwmon1/temp3_input Async:0 
thd_read_default_cooling devices 
cooling dev 0:0:3:Processor
cooling dev 1:0:3:Processor
cooling dev 2:0:3:Processor
cooling dev 3:0:3:Processor
cooling dev 4:-1:50:intel_powerclamp
thd_read_default_cooling devices loaded 5 cdevs 
ppcc limits max:35000000 min:35000000  min_win:28000000 step:1000000
RAPL max limit 0 increment: 1000000
set_pid_param 5 [1000.100,10]
Use Default pstate drv settings
cooling dev index:6, curr_state:0, max_state:10, unit:10.000000, min_com:0, type:intel_pstate
config product name [XPS139350] match with [XPS139350]
Product Name matched 
pstate CPU present 0-3
name = package-0
name = core
name = uncore
name = dram
sysfs read failed constraint_0_max_power_uw
powercap RAPL invalid max power limit range 
Calculate dynamically phy_max 
0: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
1: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
2: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
3: Processor, C:0 MN: 0 MX:3 ST:1 pt:/sys/class/thermal/ rd_bk 0 
4: intel_powerclamp, C:-1 MN: 0 MX:50 ST:5 pt:/sys/class/thermal/ rd_bk 0 
5: rapl_controller, C:0 MN: 0 MX:0 ST:1000000 pt:/sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/ rd_bk 1 
6: intel_pstate, C:0 MN: 0 MX:10 ST:1 pt:/sys/devices/system/cpu/intel_pstate/ rd_bk 1 
7: rapl_controller_dram, C:0 MN: 0 MX:500000 ST:500000 pt:/sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:2/ rd_bk 1 
8: LCD, C:0 MN: 0 MX:937 ST:93 pt:/sys/class/backlight/intel_backlight/ rd_bk 1 
thd_read_default_thermal_zones 
Added zone index:0 
Thermal Zone look for 0/type
Thermal Zone 0:INT3400
read_trip_points Added 0 trips 
Added zone index:1 
Thermal Zone look for 1/type
Thermal Zone 1:B0D4
read_trip_points 1/trip_point_0_type:critical 
read_trip_points 1/trip_point_0_temp:115000 
terminate called after throwing an instance of 'std::ios_base::failure'
  what():  basic_filebuf::underflow error reading the file
[1]    5789 abort      sudo thermald --no-daemon --loglevel=debug

Unable to initialize daemon

I'm on Manjaro stable branch. I install thermald (pacman -S thermald), enable it (systemctl enable thermald), but it fails to initialize (systemctl start thermald):

systemctl status thermald
thermald.service - Thermal Daemon Service
Loaded: loaded (/usr/lib/systemd/system/thermald.service; enabled)
Active: failed (Result: core-dump) since Fri 2014-02-21 11:05:12 BRT; 9s ago
Process: 2817 ExecStart=/usr/bin/thermald --no-daemon --dbus-enable (code=dumped, signal=SEGV)
Main PID: 2817 (code=dumped, signal=SEGV)

Feb 21 11:05:12 felipe-manjaro-laptop systemd[1]: Starting Thermal Daemon Service...
Feb 21 11:05:12 felipe-manjaro-laptop systemd[1]: Started Thermal Daemon Service.
Feb 21 11:05:12 felipe-manjaro-laptop systemd[1]: thermald.service: main process exited, code=dumped, status=11/SEGV
Feb 21 11:05:12 felipe-manjaro-laptop systemd[1]: Unit thermald.service entered failed state.
Feb 21 11:05:12 felipe-manjaro-laptop systemd-coredump[2818]: Process 2817 (thermald) dumped core.

thermald.service wrong path - debain

When installing from source

[Service]
Type=dbus
BusName=org.freedesktop.thermald
ExecStart=/usr/bin/thermald --no-daemon --dbus-enable
StandardError=null

Here Exec path should be usr/local/bin/thermald not usr/bin/thermald

Question: What is the "Processor" cooling device

Hey,

I stumbled upon the file /etc/thermald/thermal-cpu-cdev-order.xml and I have the following available cooling devices

    <!-- Specify Cooling device order -->
    <CoolingDevice>rapl_controller</CoolingDevice>
    <CoolingDevice>intel_pstate</CoolingDevice>
    <CoolingDevice>intel_powerclamp</CoolingDevice>
    <CoolingDevice>cpufreq</CoolingDevice>
    <CoolingDevice>Processor</CoolingDevice>

What is the Processor device? Is it the fan?

Cheers,

Nick

Please tag releases

Releases are not tagged.

It would be nice if you can tag releases to make it easy to build tarballs for distribution.

Thanks!

MSR READ Failed

Hi, i tried running thermal daemon from git with Fedora 18 on a Lenovo X220 with SandyBridge CPU (2.7Ghz, 3.4GHz max turbo).

My kernel is 3.10-rc5 with CONFIG_X86_MSR=y, CONFIG_X86_INTEL_PSTATE=y and CONFIG_INTEL_POWERCLAMP=y

Throttling is weird : while compiling kernel, first my cpu reach 95 C during one or two minute on turbo (3.2GHz) then it mainly reduce speed to 2.2GHz with temp reaching only 80 C despite having 84.5 C defined in thermal_set_point.conf

Thermald reports some MSR related error messages.
Did i miss something in my kernel configuration or is that a thermald bug?

Started Thermal Daemon Service.
13 CPUID levels; family:model:stepping 0x6:2a:7 (6:42:7)
Polling mode is enabled: 4
Found Intel pstate driver
RAPL device for cpu 0
sysfs read failed 0/msr
MSR READ Failed
Read set point 84500
DTS package temp thermal zone not found, Requires polling !!
Default DTS processing for cpus mask = ffff
node type: Element, name: CoolingDevice value: CDEV_INTEL_RAPL_DRIVER
node type: Element, name: CoolingDevice value: CDEV_RAPL
node type: Element, name: CoolingDevice value: CDEV_INTEL_PSTATE_DRIVER
node type: Element, name: CoolingDevice value: CDEV_MSR_TURBO_STATES
node type: Element, name: CoolingDevice value: CDEV_MSR_PSTATES_PARTIAL
node type: Element, name: CoolingDevice value: CDEV_TURBO_ON_OFF
node type: Element, name: CoolingDevice value: CDEV_POWER_CLAMP
node type: Element, name: CoolingDevice value: CDEV_CPU_FREQ
node type: Element, name: CoolingDevice value: CDEV_MSR_PSTATES
node type: Element, name: CoolingDevice value: CDEV_T_STATES
CDEVS order specified in thermal-cdev-order.xml
FD = 7
Current user preference is 0
thd_engine_thread begin

Avoid using acpitz-virtual-0?? Or use coretemp as backup

Hello,
Basically I have a toshiba protege z830 and I have always had (with all kernels so far) the problem that acpitz-virtual (and therefore /sys/class/thermal/thermal_zone*/temp ) returns an incorrect temperature level (always 16 degrees!).
I have long searched a way to fix this but, apparently, there is no solution for this problem.

The temperature, however, is read correctly in
/sys/devices/platform/coretemp.0/temp*_input

I also tried to configure it manually in the config file but it won't use it.

Therefore, i wanted to know if there was the possibility to use this interface instead.
Thank you for your time

Could thermald be the cause of this crash?

( see also https://bbs.archlinux.org/viewtopic.php?pid=1495613 )

Lately my laptop started freezing. For example, I am watching a video (VCL, youtube, doesn't matter..) and sometimes my laptop will just hang, endlessly repeating the last second (or so) of audio (while the video, as well as the mouse pointer and everything else, is stuck). It also happens when I am literally doing nothing (I go back to the laptop after being away and it's stuck).

I am wondering if thermald may be the cause. I use Archlinux, this is the log from journalctl before the forced shutdown:

...
Jan 23 22:16:06 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:06 wil93-arch thermald[1764]: set cdev state index 9 state 7000000 wr:28000000
Jan 23 22:16:06 wil93-arch thermald[1764]: Set : 87000, 86000, 9, 7000000, 26250000
Jan 23 22:16:10 wil93-arch thermald[1764]: set cdev state index 9 state 5250000 wr:29750000
Jan 23 22:16:10 wil93-arch thermald[1764]: Set : 93500, 87000, 9, 5250000, 26250000
Jan 23 22:16:10 wil93-arch thermald[1764]: set cdev state index 9 state 7000000 wr:28000000
Jan 23 22:16:10 wil93-arch thermald[1764]: Set : 87000, 87000, 9, 7000000, 26250000
Jan 23 22:16:14 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:14 wil93-arch thermald[1764]: consecutive call, increment exponentially state 10500000
Jan 23 22:16:14 wil93-arch thermald[1764]: set cdev state index 9 state 10500000 wr:24500000
Jan 23 22:16:14 wil93-arch thermald[1764]: Set : 87000, 87000, 9, 10500000, 26250000
Jan 23 22:16:18 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:18 wil93-arch thermald[1764]: consecutive call, increment exponentially state 14000000
Jan 23 22:16:18 wil93-arch thermald[1764]: set cdev state index 9 state 14000000 wr:21000000
Jan 23 22:16:18 wil93-arch thermald[1764]: Set : 87000, 87000, 9, 14000000, 26250000
Jan 23 22:16:22 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:22 wil93-arch thermald[1764]: set cdev state index 9 state 12250000 wr:22750000
Jan 23 22:16:22 wil93-arch thermald[1764]: Set : 87000, 86000, 9, 12250000, 26250000
Jan 23 22:16:26 wil93-arch thermald[1764]: set cdev state index 9 state 10500000 wr:24500000
Jan 23 22:16:26 wil93-arch thermald[1764]: Set : 93500, 86000, 9, 10500000, 26250000
Jan 23 22:16:30 wil93-arch thermald[1764]: set cdev state index 9 state 8750000 wr:26250000
Jan 23 22:16:30 wil93-arch thermald[1764]: Set : 93500, 87000, 9, 8750000, 26250000
Jan 23 22:16:30 wil93-arch thermald[1764]: set cdev state index 9 state 10500000 wr:24500000
Jan 23 22:16:30 wil93-arch thermald[1764]: Set : 87000, 87000, 9, 10500000, 26250000
Jan 23 22:16:34 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:34 wil93-arch thermald[1764]: consecutive call, increment exponentially state 14000000
Jan 23 22:16:34 wil93-arch thermald[1764]: set cdev state index 9 state 14000000 wr:21000000
Jan 23 22:16:34 wil93-arch thermald[1764]: Set : 87000, 88000, 9, 14000000, 26250000
Jan 23 22:16:38 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:38 wil93-arch thermald[1764]: consecutive call, increment exponentially state 17500000
Jan 23 22:16:38 wil93-arch thermald[1764]: set cdev state index 9 state 17500000 wr:17500000
Jan 23 22:16:38 wil93-arch thermald[1764]: Set : 87000, 87000, 9, 17500000, 26250000
Jan 23 22:16:42 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:42 wil93-arch thermald[1764]: consecutive call, increment exponentially state 24500000
Jan 23 22:16:42 wil93-arch thermald[1764]: set cdev state index 9 state 24500000 wr:10500000
Jan 23 22:16:42 wil93-arch thermald[1764]: Set : 87000, 88000, 9, 24500000, 26250000
Jan 23 22:16:46 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:46 wil93-arch thermald[1764]: consecutive call, increment exponentially state 38500000
Jan 23 22:16:46 wil93-arch thermald[1764]: set cdev state index 9 state 26250000 wr:8750000
Jan 23 22:16:46 wil93-arch thermald[1764]: Set : 87000, 87000, 9, 26250000, 26250000
Jan 23 22:16:50 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:50 wil93-arch thermald[1764]: Set : 87000, 87000, 10, 1, 10
Jan 23 22:16:54 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:54 wil93-arch thermald[1764]: consecutive call, increment exponentially state 3
Jan 23 22:16:54 wil93-arch thermald[1764]: turbo disabled
Jan 23 22:16:54 wil93-arch thermald[1764]: Set : 87000, 87000, 10, 3, 10
Jan 23 22:16:58 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:16:58 wil93-arch thermald[1764]: consecutive call, increment exponentially state 5
Jan 23 22:16:58 wil93-arch thermald[1764]: Set : 87000, 87000, 10, 5, 10
Jan 23 22:17:02 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:17:02 wil93-arch thermald[1764]: consecutive call, increment exponentially state 9
Jan 23 22:17:02 wil93-arch thermald[1764]: Set : 87000, 88000, 10, 9, 10
Jan 23 22:17:06 wil93-arch thermald[1764]: skip to reduce current state as this is controlled by two zone or trip actions and one is still on 1:2
Jan 23 22:17:06 wil93-arch thermald[1764]: consecutive call, increment exponentially state 17
Jan 23 22:17:06 wil93-arch thermald[1764]: Set : 87000, 87000, 10, 10, 10

What do you think about it? Could it be a thermald issue?

dbus GetCurrentPreference returns empty string

/org/freedesktop/thermald org.freedesktop.thermald.GetCurrentPreference returns empty string, instead current preference

% dbus-send --print-reply --system \
--dest=org.freedesktop.thermald /org/freedesktop/thermald \
org.freedesktop.thermald.SetCurrentPreference string:"ENERGY_CONSERVE"
method return sender=:1.3 -> dest=:1.138 reply_serial=2
% dbus-send --system --print-reply \
--dest=org.freedesktop.thermald /org/freedesktop/thermald \
org.freedesktop.thermald.GetCurrentPreference 
method return sender=:1.3 -> dest=:1.139 reply_serial=2
   string ""

Question: Arch AUR package

I'm interested in using thermald on an Arch system but the package on AUR is flagged out of date. The top comment suggests using a specific commit of this repo but now there are many more recent commits on master. Will thermald be distributed through AUR again? If not, what version of the code can I use?

thermald fails on ASUS M5A78L-M LX with AMD FX-6100

I'm finding problems with thermald on this particular machine, which experiences heat related crashes. The debug mode shows that it is complaining about unsupported CPU, but when the --ignore-cpuid-check is used, it drops out without setting any zones etc.

It actually worked with the stock Ubuntu version just before the new year, but stopped working no doubt due to an upgrade of thermald to 1.4.3.

I've worked back painfully through the commits on GitHub and discovered that thermald stops working with the commit 9217296 on Sep 9, 2014. The commit before that runs apparently OK.

The first output is without the cpuid check, the second with it. thermald-conf.xml doesn't seem to affect its ability to run.

thermald-1.txt
thermald-2.txt
thermal-conf.txt

Please let me know if there is any other info that is of use.

cheers, Ken
ps thanks for the work you are doing on this. Without it my desktop is all but useless.

Questionable implementation of PID controller

(This issue may be invalid, as I am not an expert in control theory, and that's why there is a word "questionable" and not e.g. "wrong" in the title.)

I think that the PID controller output is used in mathematically "improper" way. Here is the code in thermal_daemon/src/thd_cdev.cpp because of which I think so:

        if (pid_enable) {
                pid_ctrl.set_target_temp(target_temp);
                ret = pid_ctrl.pid_output(temperature);
                ret += get_curr_state();
                if (ret > get_max_state())
                        ret = get_max_state();
                if (ret < get_min_state())
                        ret = get_min_state();
                set_curr_state_raw(ret, zone_id);
                thd_log_info("Set : %d, %d, %d, %d, %d\n", set_point, temperature,
                                index, get_curr_state(), max_state);
                ret = THD_SUCCESS;
        } else {

The questionable line is: ret += get_curr_state();

I.e., because of this questionable line, the output of the PID controller only controls the speed with which e.g. the RAPL power limit is changed. Here is why this looks bad.

For simplicity, let's consider a P-only controller - i.e. the one with Ki = Kd = 0.

The CPU has a massive heatsink. It is heated by the CPU and cooled either passively or with a fan. Let's assume that the heatsink or fan removes heat with the rate proportional to the temperature difference of the heatsink and the air, and that all heat produced by the CPU goes to heating the heatsink. That is:

C * T' = -K * (T - T0) + P, where C > 0, K > 0

where T is the CPU temperature, C is the heat capacity of the heatsink, K is related to the "heat conductivity" between the sink and the outside air (which has the temperature T0), and P is the power dissipated by the CPU into the heatsink.

The output of the P-controller (i.e. PID controller with only P-term, and no I or D) is proportional to the difference of the actual CPU temperature T and the desired one Tw, and, due to the questionable line, the time-derivative of the power dissipated by the CPU is proportional to the PID controller output:

P' = A * (Tw - T), where A > 0 is proportional to the P-term.

Inserting the second equation into the time-derivative of the first one, we get a second-order differential equation for T:

C * T'' + K * T' + A * (T - Tw) = 0

...which is just a linear differential equation for (T - Tw). Of course, this is valid only if the effects of the finite sampling rate can be neglected, which may be false for certain values of A. The most important thing is that the part of the time derivative of the temperature error due to the controller has the opposite sign to the temperature error. This looks more like a pendulum than like a stabilizer, yielding overshoots and not noticing that (e.g. due to suddenly reduced load) the CPU is already cooling by itself.

Still, if the differential equation is valid, its solutions are either decaying exponents or exponentially decaying oscillations, depending on the value of A. So the controller is stable under such conditions. However, the decay time of the oscillations is of the same order as 2C/K, and, in the case with exponents, the worst exponent will have the decay time more than 2C/K. So, with a massive heatsink, the controller is also slow.

That's why the I and D terms, you say. While the D term can indeed provide the needed damping here, including the I term yields a third-order differential equation, which looks scary and brings one more possibility for unstable solutions - and that's still with the questionable assumption that the sampling rate is sufficient.

One more note regarding the questionable line.

The texts on PID controllers usually say that, with a pure P controller, there is a non-zero residual error in the stationary state. However, with implementation in the thermal daemon, this is not the case. This makes me think that you have implemented not a PID, but a I-I^2-P controller (for the lack of the better name due to the double-integral term).

I could understand adding the extra integration step (in the questionable line) if it helped to bring the system into the class where well-known PID tuning methods work (e.g., Ziegler–Nichols method does not work with second-order systems). I have actually tried to tune the PID controller according to this method on my silent PC (with a Streacom FC8 Evo case-heatsink, which is sufficient with a large-enough safety margin to keep the CPU from overheating if one disables Turbo Boost, but is insufficient with Turbo Boost enabled). I found that, even with a sampling interval of 1 second, the controller tuning process fails (yields an unstable controller unless one removes the I term). To be fair, with that line commented out, thermald still works, and the procedure yields a controller that eventually does converge to the target temperature, but exhibits oscillations for a rather long time before doing so, so not exactly a success. This is probably related to the wrong initial value of the I term, which is expected without this line. It does react quickly to adding or removing of burnMMX instances, and generally keeps the temperature within 3 degrees from the target from that point on.

So I guess that the true intent of the questionable line is to make sure that, when the "PID" controller is first activated, P and I terms are approximately correct (by being zero). If this is the case, the I term should be removed, as only original "P" and "D" (corresponding to "I" and "P" with the questionable line removed) terms are useful. Whether or not I guessed the intention correctly, the purpose of the line should be documented in a comment in the code.

Anyway, with the line in place and with P and D coefficients being non-zero, the controller works as it should. And I understand the corresponding differential equation - it is the same as for a damped oscillator.

Got errors compiling thermald

Hi all, I don't know why but I got this error when trying to compile with make thermald.

here's my out of uname -a:
Linux localhost 3.14-kali1-amd64 #1 SMP Debian 3.14.5-1kali1 (2014-06-07) x86_64 GNU/Linux

All the needed packets for the compilation are installed and the config doesn't seems to create problems.

When I try to compile I get:
...
src/thd_trt_art_reader.cpp: In function ‘void associate_device(sub_type_t, std::string&)’:
src/thd_trt_art_reader.cpp:62:2: error: ‘DIR’ was not declared in this scope
src/thd_trt_art_reader.cpp:62:7: error: ‘dir’ was not declared in this scope
src/thd_trt_art_reader.cpp:66:38: error: ‘opendir’ was not declared in this scope
...

I've looked for DIR and seems that isn't really declared anywhere..
Am I wrong on something?

Anyone can help me??

Thanks in advance

Support for RHEL6/kernel-ml?

Found this project of interest and attempted to compiler the daemon on Scientific Linux 6.4 (which is a clone of RHEL 6).

Laptop is running the following kernel:

3.9.5-1.el6.elrepo.x86_64

from ELRepo. I can successfully employ Intel PowerClamp with this kernel and have been starting it at boot time from /etc/rc.local with:

modprobe intel_powerclamp && echo "25" > /sys/class/thermal/cooling_device5/cur_state

Compilation of the daemon fails with:

checking for DBUS... configure: error: Package requirements (dbus-1 >= 1.1 dbus-glib-1 >= 0.94) were not met:

Requested 'dbus-glib-1 >= 0.94' but version of dbus-glib is 0.86

So DBUS version shipping with RHEL is considered too "old".

Question is whether significant features were implemented in dbus > 0.86 that the daemon requires (is a "hard" requirement). Might it be possible to use dbus 0.86?

Thank you.

logging level is increased since 1.4.3 update

Is it just me or anybody else see this higher rate of log levels in journal?

Jul 21 19:06:41 archlinux thermald[275]: Read set point 80000
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset index 9:rapl_controller
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset index 10:intel_pstate
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset index 8:intel_powerclamp
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset index 0:Processor
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset index 9:rapl_controller
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset index 10:intel_pstate
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset index 8:intel_powerclamp
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset index 0:Processor
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset
Jul 21 19:06:40 archlinux thermald[275]: thd_trip_cdev_state_reset
Jul 21 19:06:40 archlinux thermald[275]: Dropped below poll threshold
Jul 21 19:06:28 archlinux NetworkManager[6591]: (wlp2s0): Lowering IPv6 MTU (1500) to match device MTU (1280)
Jul 21 19:05:52 archlinux thermald[275]: Read set point 80000
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset index 9:rapl_controller
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset index 10:intel_pstate
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset index 8:intel_powerclamp
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset index 0:Processor
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset index 9:rapl_controller
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset index 10:intel_pstate
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset index 8:intel_powerclamp
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset index 0:Processor
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset
Jul 21 19:05:51 archlinux thermald[275]: thd_trip_cdev_state_reset
Jul 21 19:05:51 archlinux thermald[275]: Dropped below poll threshold

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.