Date: Thu, 07 Feb 2008 22:17:38 -0800 From: Nate Lawson <nate@root.org> To: Kevin Oberman <oberman@es.net> Cc: acpi@freebsd.org, Hajimu UMEMOTO <ume@freebsd.org>, "Alexandre \"Sunny\" Kovalenko" <alex.kovalenko@verizon.net> Subject: Re: [RFC] Patch to enable temperature ceiling in powerd Message-ID: <47ABF402.7030904@root.org> In-Reply-To: <20080208045605.15C874500E@ptavv.es.net> References: <20080208045605.15C874500E@ptavv.es.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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> Some time ago I have put together patch for powerd, which allows user to >>> alex.kovalenko> specify the temperature threshold at which powerd will lower CPU >>> alex.kovalenko> frequency no matter what the load was at the time. I recently had to >>> alex.kovalenko> adapt it to the 7.0-PRERELEASE for someone with the overheating laptop, >>> alex.kovalenko> which got me to think that it might be useful for someone else yet. >>> >>> alex.kovalenko> Basic idea is fairly simple -- check temperature in TZ0 and, if it has >>> alex.kovalenko> reached certain value, either override frequency with the lowest >>> alex.kovalenko> available (in the case of 'max' setting) or change idle time to 100% and >>> alex.kovalenko> let adaptive algorithm decrease frequency gradually. >>> >>> alex.kovalenko> I imagine it also could be poor man's substitute for the low noise >>> alex.kovalenko> acoustic policy ;) >>> >>> alex.kovalenko> If there is an interest, I will go ahead and submit a PR, otherwise it >>> alex.kovalenko> will live in the mail archives for someone to find. Any comments, >>> alex.kovalenko> suggestions or criticisms are welcome. >>> >>> 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. -- Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?47ABF402.7030904>