Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Feb 2008 16:25:09 +1100 (EST)
From:      Ian Smith <smithi@nimnet.asn.au>
To:        "Alexandre \"Sunny\" Kovalenko" <alex.kovalenko@verizon.net>
Cc:        acpi@freebsd.org, Hajimu UMEMOTO <ume@freebsd.org>
Subject:   Re: [RFC] Patch to enable temperature ceiling in powerd
Message-ID:  <Pine.BSF.3.96.1080210154645.22701E-100000@gaia.nimnet.asn.au>
In-Reply-To: <1202475519.7014.7.camel@RabbitsDen>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 8 Feb 2008, Alexandre "Sunny" Kovalenko wrote:
 > On Thu, 2008-02-07 at 22:17 -0800, Nate Lawson wrote:
 > > Kevin Oberman wrote:
 > > >> From: "Alexandre \"Sunny\" Kovalenko" <alex.kovalenko@verizon.net>
 > > >>
 > > >> On Fri, 2008-02-08 at 00:50 +0900, Hajimu UMEMOTO wrote:
 > > >>>>>>>> On Wed, 30 Jan 2008 17:56:19 -0500
 > > >>>>>>>> "Alexandre \"Sunny\" Kovalenko" <alex.kovalenko@verizon.net> said:
[..]
 > > >>> alex.kovalenko> Temperature threshold (in Celsius) could be set by means of '-T' command
 > > >>> alex.kovalenko> line option (as in '-T 60').
 > > >>>
 > > >>> Our kernel has passive cooling feature, already.  Is it not enough for
 > > >>> you?
 > > >> I must have missed it somehow, if you could, please, point me in the
 > > >> right direction I will really appreciate it.
 > > > 
 > > > When the temperature reaches hw.acpi.thermal.tz0._PSV, the system will
 > > > slow down until the CPU drops to a level below the _PSV value. The
 > > > operation, if enabled, is under the control of BIOS (and/or the EC) and
 > > > typically runs with substantial hysteresis, but is usually adequate for
 > > > keeping the CPU temperature to a safe point.
 > > > 
 > > > My Pentium-M 2GHz has a value of 94.5C for _PSV. This may seem very
 > > > high, but the maximum "safe" operating temperature for the CPU is 100C,
 > > > so it is designed for pretty high temperatures. Quiescent temperature
 > > > runs about 51C and, during a CPU intensive operation such as a big build
 > > > (e.g. make -j2 buildworld) will rise to near 80C. 
 > > > 
 > > > Before I blew two years of dust out of the heat sinks, I was seeing
 > > > about 60C quiescent and about 95 during CPU intensive operations.
 > > > Passive cooling was kicking in then and the temperature never went
 > > > higher (although the build took longer).
 > > 
 > > You can override the _PSV value by setting:
 > > hw.acpi.thermal.user_override=1
 > > 
 > > Then:
 > > hw.acpi.thermal.tz0._PSV=70C
 > > 
 > > This will maintain a lower temperature.  Note that user_override is 
 > > potentially a bit dangerous because there is no sanity checking of the 
 > > value you set.
 > > 
 > I'd say it is not working here (ThinkPad X60 1709-73U, BIOS was up to
 > date as of day before yesterday, FreeBSD 7.0 as of January 31):
 > 
 > RabbitsDen# sysctl hw.acpi.thermal
 > hw.acpi.thermal.min_runtime: 0
 > hw.acpi.thermal.polling_rate: 10
 > --> hw.acpi.thermal.user_override: 1
 > --> hw.acpi.thermal.tz0.temperature: 67.0C
 > hw.acpi.thermal.tz0.active: -1
 > hw.acpi.thermal.tz0.passive_cooling: 0

That has to be 1 for passive cooling to be activated, I gather.

 > hw.acpi.thermal.tz0.thermal_flags: 1
 > --> hw.acpi.thermal.tz0._PSV: 60.0C
 > hw.acpi.thermal.tz0._HOT: -1
 > hw.acpi.thermal.tz0._CRT: 127.0C

127C sounds (smells?) way too hot for a laptop CPU.  Did you set that?

 > hw.acpi.thermal.tz0._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

Perhaps with .user_override you need to set these too? but I'm not sure,
and I haven't yet a 7 or late model 6.x system to try these here.  I've
read and reread acpi_thermal(4) about these, and latest acpi_thermal.c,
but I still don't get it ..

 > --> hw.acpi.thermal.tz1.temperature: 68.0C
 > hw.acpi.thermal.tz1.active: -1
 > hw.acpi.thermal.tz1.passive_cooling: 0

Ditto.  Is tz1 the second CPU?  or the GPU?  What does sysctl
dev.acpi_ibm.0.thermal have to say, assuming you load acpi_ibm?

 > hw.acpi.thermal.tz1.thermal_flags: 1
 > --> hw.acpi.thermal.tz1._PSV: 60.0C
 > hw.acpi.thermal.tz1._HOT: -1
 > hw.acpi.thermal.tz1._CRT: 97.0C

That looks more normal, and more like what tz0 should have, I imagine.

 > hw.acpi.thermal.tz1._ACx: -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
 > 
 > Anything, I have missed?

Did you set .passive_cooling to 0, or has something else?  Have you set
anything about this in the BIOS?  Can you set it/them to 1 manually?  If
so, does that help?

cheers, Ian




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.1080210154645.22701E-100000>