Since my laptop (an Acer Aspire 5750G running a Gentoo Linux with a not-quite-up-to-date kernel 2.6.39-r3 (a weird wLan hardware makes the update difficult)) tends to run rather hot I am trying to control the situation by employing the service cpufreqd. cpufrequtils are present and active. acpi -t returns nothing. However, lm-sensors are installed and look happy:
Ulyss etc # sensors coretemp-isa-0000 Adapter: ISA adapter Core 0: +64.0 C (high = +86.0 C, crit = +100.0 C) coretemp-isa-0002 Adapter: ISA adapter Core 1: +64.0 C (high = +86.0 C, crit = +100.0 C) ...
sensors -u yields
Ulyss etc # sensors -u coretemp-isa-0000 Adapter: ISA adapter Core 0: temp1_input: 63.000 temp1_max: 86.000 temp1_crit: 100.000 temp1_crit_alarm: 0.000 coretemp-isa-0002 Adapter: ISA adapter Core 1: temp1_input: 63.000 temp1_max: 86.000 temp1_crit: 100.000 temp1_crit_alarm: 0.000 ...
Reading several sources on the net and last not least
I created /etc/sensors.d/cores.inf
chip "coretemp-isa-0000" label temp1 "Core 0" chip "coretemp-isa-0002" label temp1 "Core 1" ...
and in /etc/cpufreqd.conf modified the general block into
[General] pidfile=/var/run/cpufreqd.pid poll_interval=2 verbosity=7 # Was at 4 enable_remote=1 # Was commented out remote_group=root # Was commented out [/General]
[sensors_plugin] sensors_conf=/etc/sensors.d/cores.conf [/sensors_plugin]
[Rule] name=CPU Too Hot sensor=temp1:60-200 cpu_interval=50-100 profile=Performance Low [/Rule]
All this done I checked that all sensors read more then 60 degree C, restarted cpufreqd and checked
Ulyss etc # cpufreq-info -p 2001000 2001000 performance
which still may be correct due to the possible fact that other rules are stronger (btw: Is there some way to introduce weights? Maybe by repeating some lines in the rule?).
So I try to get some information calling cpufreqd directly in its most verbose mode:
which yields no output even when specifiying -f /etc/cpufreqd.conf as well.
I have a hunch that there may be some trouble in lacking modules. Hence:
Ulyss sensors.d # lsmod Module Size Used by fuse 56971 1 cpufreq_ondemand 5203 0 nvidia 12290458 0 tg3 104688 0 wl 2530575 0 uvcvideo 52523 0 videodev 61049 1 uvcvideo v4l2_compat_ioctl32 7103 1 videodev
Another hunch calls for kernel options
--- ACPI (Advanced Configuration and Power Interface) Support [*] Deprecated /proc/acpi files [ ] Deprecated power /proc/acpi directories M ACPI 4.0 power meter EC read/write access through /sys/kernel/debug/ec [*] Deprecated /proc/acpi/event support * AC Adapter * Battery -*- Button -*- Video * Fan [*] Dock * Processor Processor Aggregator * Thermal Zone -*- NUMA support [ ] Debug Statements M PCI slot detection driver -*- Container and Module Devices (EXPERIMENTAL) M Smart Battery System Hardware Error Device [ ] ACPI Platform Error Interface (APEI) [*] CPU Frequency scaling [ ] Enable CPUfreq debugging CPU frequency translation statistics Default CPUFreq governor (userspace) ---> * 'performance' governor * 'powersave' governor -*- 'userspace' governor for userspace frequency scaling M 'ondemand' cpufreq policy governor * 'conservative' cpufreq governor *** CPUFreq processor drivers *** Processor Clocking Control interface driver * ACPI Processor P-States driver AMD Opteron/Athlon64 PowerNow! Intel Enhanced SpeedStep (deprecated) Intel Pentium 4 clock modulation *** shared options ***
So far the situation. Now my questions: Could any of you shed some light on why the cpufreq fails to change to a lower frequency? Or, just as interesting, how I could debug the