4

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

man cpufreqd.conf

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]

and activated

[sensors_plugin]
sensors_conf=/etc/sensors.d/cores.conf
[/sensors_plugin]

and defined

[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:

cpufreqd -V7

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 /etc/cpufreqd.conf file?

1 Answer 1

0

I was having the same issues. I too have a laptop that runs too hot.

I didn't think it was doing anything, but I enabled cpufreqd -V7 and saw the messages being written to /var/log/messages.

I disabled some of the unused rules, and just used 3 'too hot' stanzas.

[Rule]
name=temp high
sensor=temp6:100-105
cpu_interval=50-100
profile=Powersave Low
[/Rule]

[Rule]
name=temp med
sensor=temp6:95-99
cpu_interval=50-100
profile=Powersave High
[/Rule]

[Rule]
name=temp low
sensor=temp6:87-94
cpu_interval=50-100
profile=Performance Low
[/Rule]

One problem I discovered is that sensors (and the kernel) report the temp sensors from 0 to n, where cpufreqd refers to the temp sensors from 1 to (n+1)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .