Management of Thermal

Norberto Meijome freebsd at meijome.net
Mon Oct 8 03:36:04 PDT 2007


On Mon, 08 Oct 2007 11:16:01 +0200
Lars Engels <lme at FreeBSD.org> wrote:

> your temperature values are a little bit too high. On my Notebook
> (model name      : Intel(R) Pentium(R) M processor 1.73GHz) the CPU is  
> at between 50°C - 60°C when I use normal desktop applications and up  
> to 80°C when I compile something.

hi again, Lars,

No luck. I commented out:
cpufreq_load="YES"

from /boot/loader.conf.local

and added 
powerd_flags="-a adaptive -b adaptive"

to my rc.conf (I already had powerd_enable="YES".

I rebooted the computer and went to the garage to get something. I came back
after what must have been less than 5 minutes. I saw GDM close and the laptop
shut down with CRIT temperature alert.:

Oct  8 20:14:30 ayiin root: WARNING: system temperature too high, shutting down soon!
Oct  8 20:14:40 ayiin kernel: acpi_tz0: WARNING - current temperature (99.0C) exceeds safe limits

There were a couple of lines about something to do with _thermal, but it was in
full shutdown mode and couldn't catch them. they are not showing in the logs.
/var/log/messages shows the machine was up for under 2 minutes. I don't run
anything on boot that will burn CPU (seti,etc... only on request, it was
definitely not running)

> You could open your case and look if there's dust in the airflow so  
> the fans cannot blow out all the hot air.

well, i can barely hear the fans at all. I am not sure if this is how it's
supposed to be for Thinkpads... I will check regardles... but it seems to work
somewhat (i'm down to 57C now...)

> I only use the powerd with "-a adaptive -b adaptive" flags. There  
> should be no need for the cpufreq module.

I am running it now again with cpufreq and powerd, with the flags as you show.
my current sysctl reports

$ sysctl hw.acpi
hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.power_button_state: S5
hw.acpi.sleep_button_state: S3
hw.acpi.lid_switch_state: NONE
hw.acpi.standby_state: S1
hw.acpi.suspend_state: S3
hw.acpi.sleep_delay: 1
hw.acpi.s4bios: 0
hw.acpi.verbose: 0
hw.acpi.disable_on_reboot: 0
hw.acpi.handle_reboot: 0
hw.acpi.reset_video: 1
hw.acpi.cpu.cx_lowest: C1
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.user_override: 0
hw.acpi.thermal.tz0.temperature: 60.0C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.passive_cooling: 1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 94.5C
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 99.0C
hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
hw.acpi.battery.life: 98
hw.acpi.battery.time: -1
hw.acpi.battery.state: 0
hw.acpi.battery.units: 1
hw.acpi.battery.info_expire: 5
hw.acpi.acline: 1

$ sysctl dev.cpu  
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU_
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 500
dev.cpu.0.freq_levels: 2000/27000 1750/23625 1600/22600 1400/19775 1333/19666 1166/17207 1066/16733 932/14641 800/13800 700/12075 600/10350 500/8625 400/6900 300/5175 200/3450 100/1725
dev.cpu.0.cx_supported: C1/1 C2/1 C3/85
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00% 0.00% 0.00%

related parts from dmesg:

Oct  8 20:18:28 ayiin kernel: CPU: Intel(R) Pentium(R) M processor 2.00GHz (1995.01-MHz 686-class CPU)
Oct  8 20:18:28 ayiin kernel: Origin = "GenuineIntel"  Id = 0x6d8  Stepping = 8
Oct  8 20:18:28 ayiin kernel: Features=0xafe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,
SS,TM,PBE>
Oct  8 20:18:28 ayiin kernel: Features2=0x180<EST,TM2>
Oct  8 20:18:28 ayiin kernel: real memory  = 1609433088 (1534 MB)
Oct  8 20:18:28 ayiin kernel: avail memory = 1567961088 (1495 MB)
Oct  8 20:18:28 ayiin kernel: wlan: mac acl policy registered
Oct  8 20:18:28 ayiin kernel: kqemu version 0x00010300
Oct  8 20:18:28 ayiin kernel: kqemu: KQEMU installed, max_locked_mem=781488kB.
Oct  8 20:18:28 ayiin kernel: acpi0: <IBM TP-77> on motherboard
Oct  8 20:18:28 ayiin kernel: acpi_ec0: <Embedded Controller: GPE 0x1c, ECDT> port 0x62,0x66 on acpi0
Oct  8 20:18:28 ayiin kernel: acpi0: Power Button (fixed)
Oct  8 20:18:28 ayiin kernel: Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
Oct  8 20:18:28 ayiin kernel: acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
Oct  8 20:18:28 ayiin kernel: cpu0: <ACPI CPU> on acpi0
Oct  8 20:18:28 ayiin kernel: est0: <Enhanced SpeedStep Frequency Control> on cpu0
Oct  8 20:18:28 ayiin kernel: p4tcc0: <CPU Frequency Thermal Control> on cpu0
Oct  8 20:18:28 ayiin kernel: acpi_lid0: <Control Method Lid Switch> on acpi0
Oct  8 20:18:28 ayiin kernel: acpi_button0: <Sleep Button> on acpi0
Oct  8 20:18:28 ayiin kernel: pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
Oct  8 20:18:28 ayiin kernel: pci0: <ACPI PCI bus> on pcib0
Oct  8 20:18:28 ayiin kernel: pcib1: <ACPI PCI-PCI bridge> irq 11 at device 1.0 on pci0
Oct  8 20:18:28 ayiin kernel: pci1: <ACPI PCI bus> on pcib1
Oct  8 20:18:28 ayiin kernel: drm0: <ATI Radeon Mobility X600 M24> port 0x2000-0x20ff mem 0xc8000000-0xcfffffff,0xb0100000-0xb010ffff irq 11 at device 0.0 on pci1
Oct  8 20:18:28 ayiin kernel: info: [drm] Initialized radeon 1.25.0 20060524


I am happy to keep trying / digging / getting some logging happening of
temperature and... system load/cpu frequency? not sure what would be useful.

Things i was thinking could help with this is tweaking of the _ACx and C1
values... but i'm not sure how to go about them...

Not sure if it's relevant, but i have APIC disabled (ACPI is on, APIC is off).

I'm happy to RTFM....but i don't know where that is :)

cheers,
B
_________________________
{Beto|Norberto|Numard} Meijome

"Any society that would give up a little liberty to gain a little security will
deserve neither and lose both." Benjamin Franklin

I speak for myself, not my employer. Contents may be hot. Slippery when wet.
Reading disclaimers makes you go blind. Writing them is worse. You have been
Warned.


More information about the freebsd-mobile mailing list