How to disable acpi thermal?

Alexandre "Sunny" Kovalenko alex.kovalenko at verizon.net
Fri Feb 22 02:08:34 UTC 2008


On Wed, 2008-02-20 at 20:14 -0500, Daniel Eischen wrote: 
> On Wed, 20 Feb 2008, Alexandre \Sunny\ Kovalenko wrote:
> 
> >
> > On Wed, 2008-02-20 at 18:48 -0500, Daniel Eischen wrote:
> >> On Wed, 20 Feb 2008, Alexandre \Sunny\ Kovalenko wrote:
> >>
> >>> I assume (possibly incorrectly) that 1) your CPU is capable of the
> >>> frequency throttling and 2) you are using frequency governor of some
> >>> sort (see cpufreq(4) for detail). If this is not the case, the change
> >>> will not help.
> >>
> >> I don't know about 1):
> >>
> >>    CPU: Intel Pentium III (933.08-MHz 686-class CPU)
> >>    Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
> >>    Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
> >>
> >> and 2), no, I'm not using a frequency governor from what I can
> >> tell.
> >>
> >>    $ sysctl -a | grep dev.cpu
> >>    dev.cpu.0.%desc: ACPI CPU
> >>    dev.cpu.0.%driver: cpu
> >>    dev.cpu.0.%location: handle=\_PR_.CPU0
> >>    dev.cpu.0.%pnpinfo: _HID=none _UID=0
> >>    dev.cpu.0.%parent: acpi0
> >>    dev.cpu.0.cx_supported: C1/0
> >>    dev.cpu.0.cx_lowest: C1
> >>    dev.cpu.0.cx_usage: 100.00%
> >>
> >>    $ sudo kldload /boot/kernel/cpufreq.ko
> >>
> >>    $ sysctl -a | grep dev.cpu
> >>    dev.cpu.0.%desc: ACPI CPU
> >>    dev.cpu.0.%driver: cpu
> >>    dev.cpu.0.%location: handle=\_PR_.CPU0
> >>    dev.cpu.0.%pnpinfo: _HID=none _UID=0
> >>    dev.cpu.0.%parent: acpi0
> >>    dev.cpu.0.cx_supported: C1/0
> >>    dev.cpu.0.cx_lowest: C1
> >>    dev.cpu.0.cx_usage: 100.00%
> >>
> >>
> >>> Also, since I have sent you that change, I have learned that setting
> >>> hw.acpi.thermal.user_override=1 and hw.acpi.thermal.tz0._PSV=85C might
> >>> accomplish the same thing as the ASL change. I saw it working for the
> >>> thermal zone which already had sensible _PSV, but I have no hardware to
> >>> try this approach when _PSV is not present in the ASL.
> >>
> >> Well, this is a server board, not a laptop, so I'm not sure
> >> it even has CPU throttling.
> >>
> > As far as I can tell from the stuff above -- it does not. I was confused
> > by presence of some pieces in the ASL, which would normally indicate
> > that it does. One thing, which surprises me, is that with the lack of
> > throttling and, what appears to be single speed fan or even a heatsink,
> > I do not see how its thermal mode could behave differently in the
> > presence of the load. Could you, please, send me output of the sysctl
> > machdep.
> 
> $ sysctl machdep
> machdep.enable_panic_key: 0
> machdep.adjkerntz: 0
> machdep.wall_cmos_clock: 0
> machdep.disable_rtc_set: 0
> machdep.conspeed: 9600
> machdep.gdbspeed: 9600
> machdep.conrclk: 1843200
> machdep.disable_mtrrs: 0
> machdep.guessed_bootdev: 2687500288
> machdep.cpu_idle_hlt: 1
> machdep.prot_fault_translation: 0
> machdep.panic_on_nmi: 1
> machdep.kdb_on_nmi: 1
> machdep.tsc_freq: 933073074
> machdep.i8254_freq: 1193182
> machdep.acpi_timer_freq: 3579545
> machdep.acpi_root: 1009936
> 
OK, I give up. The only positive idea so far is that your CPU needed
these idle moments (machdep.cpu_idle_hlt: 1) to keep temperature under
the critical level. AFAICR 4.x did not know much of anything about ACPI,
so it did not exhibit any problems. 

To check whether this is the hardware issue or that of FreeBSD, you can
boot from some recent Linux LiveCD and run 'openssl speed aes -multi
256', or some other CPU-intensive thing of you choice, and
'cat /proc/acpi/thermal_zone/TZC0/temperature' periodically to see
whether temperature would raise as rapidly. It might not be a bad idea
to do the same (former) thing under FreeBSD to make sure that it does
indeed cause thermal shutdown ;)

Another (and more dangerous) experiment would be to set
hw.acpi.thermal.user_override=1 and hw.acpi.thermal.tz0._CRT=150C and
see whether temperature would stabilize at some point above the old _CRT
value. This might cost you a CPU, though...

And last, but not the least, assuming that your CPU has a heatsink glued
on top of it, prying it off, cleaning up both surfaces, applying
moderate amounts of something like "Arctic Silver" thermal grease and
slapping it back together definitely would not hurt. Even if it would
not help. 

I saw in one of your previous E-mails that you have checked inside the
chassis and felt nothing near the reported 100C+, but if this is the
temperature of the die under not-to-well-connected heatsink, I do not
believe you would have felt it unless you have done it with the heatsink
off and your finger on the CPU itself -- something I have not tried
since the days of overclocking of 486SX-25 ;)

I am sorry I was not able to help.

-- 
Alexandre "Sunny" Kovalenko (Олександр Коваленко)



More information about the freebsd-acpi mailing list