[patch] enhance powerd(8) to handle max temperature
nate at root.org
Thu Aug 2 22:29:44 UTC 2007
Warner Losh wrote:
> From: Nate Lawson <nate at root.org>
> Subject: Re: [patch] enhance powerd(8) to handle max temperature
> Date: Thu, 02 Aug 2007 10:08:33 -0700
>> M. Warner Losh wrote:
>>> I keep getting the system shutting down on my HP by FreeBSD because
>>> the temperature exceeds the _CRT value. Maybe there's something wrong
>>> with my values, since it happens a lot:
>>> hw.acpi.thermal.min_runtime: 0
>>> hw.acpi.thermal.polling_rate: 10
>>> hw.acpi.thermal.user_override: 0
>>> hw.acpi.thermal.tz0.temperature: 0.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: 90.0C
>>> hw.acpi.thermal.tz0._HOT: -1
>>> hw.acpi.thermal.tz0._CRT: 94.0C
>>> hw.acpi.thermal.tz0._ACx: 40.0C -1 -1 -1 -1 -1 -1 -1 -1 -1
>>> Note: temperature is always 0.0C.
>>> What can I do to help my situation, if I really want the kernel doing
>>> the cooling?
>> Your embedded controller is timing out. Thus you're getting a bogus
>> value for _TMP.
>> Those settings for _CRT appear correct. It's the "measured" temperature
>> that is wrong.
> So how do I track down the problem? I'm tired of the system just
> shutting down when I'm building OOO or even something simpler like
> doing a buildworld...
You do what's #1 on my list, which is rewrite the EC driver event model
(yet again) and figure out if it's possible to automatically detect
which workarounds are needed. Linux requires you to specify boot-time
flags to select polled or event-driven work.
More information about the freebsd-hackers