From owner-freebsd-acpi@FreeBSD.ORG Fri Aug 3 04:14:22 2007 Return-Path: Delivered-To: acpi@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 43D6716A41B; Fri, 3 Aug 2007 04:14:22 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id E466513C46E; Fri, 3 Aug 2007 04:14:21 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.13.8/8.13.4) with ESMTP id l734DKTt067828; Thu, 2 Aug 2007 22:13:20 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 02 Aug 2007 22:13:27 -0600 (MDT) Message-Id: <20070802.221327.1783981813.imp@bsdimp.com> To: alex.kovalenko@verizon.net From: "M. Warner Losh" In-Reply-To: <1186101359.846.12.camel@RabbitsDen> References: <20070801.211718.1683324313.imp@bsdimp.com> <46B20F91.5080709@root.org> <1186101359.846.12.camel@RabbitsDen> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Thu, 02 Aug 2007 22:13:21 -0600 (MDT) Cc: acpi@FreeBSD.org, freebsd-hackers@FreeBSD.org, gahr@gahr.ch, ume@FreeBSD.org Subject: Re: [patch] enhance powerd(8) to handle max temperature X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 04:14:22 -0000 In message: <1186101359.846.12.camel@RabbitsDen> "Alexandre \"Sunny\" Kovalenko" writes: : On Thu, 2007-08-02 at 10:08 -0700, Nate Lawson wrote: : > M. Warner Losh wrote: : > > In message: <46AE8F78.1060203@root.org> : > > Nate Lawson writes: : > > : Hajimu UMEMOTO wrote: : > > : >>>>>> On Mon, 30 Jul 2007 23:31:33 +0200 : > > : >>>>>> Pietro Cerutti said: : > > : > gahr> My patch is really just a first draft that I wrote in order to have : > > : > gahr> feedbacks on the general idea to implement a temperature controlling : > > : > gahr> system inside powerd, and doesn't implement hysteresis as you noted, and : > > : > gahr> your feedback is that it's not a good idea, which I respect. : > > : > : > > : > It is rather backward, IMHO. I did implement a passive cooling : > > : > feature as an enhancement of powerd(8) like you did, during initial : > > : > phases. Then, I implemented it in our kernel as a result. : > > : : > > : I'll take a look at your patch. Umemoto-san is right in that you really : > > : want the kernel to control cooling. What happens if powerd dies/hangs : > > : and your system burns up? Passive cooling is often a last resort to : > > : keep the system from overheating. : > > : > > 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. : I have sort of picked up this thread in the middle... was it determined : that EC is timing out? The reason for asking is -- I used to have a : laptop where _TMP would just read value from the memory location, which : was never populated anywhere else in ASL. Call to _PSV method would go : figure current temperature and start fan, if necessary. Ugly... : : Dumping ASL (using instructions from handbook) and looking for something : like : : Method (_TMP, 0, NotSerialized) : : might be a real eye opener. : : If you would like me to take a look at your ASL, send it to me privately : -- I've only done it for one laptop, so no claims of the great skill : there, but maybe it is as simple as the other one ;) Method (_TMP, 0, NotSerialized) { If (\_SB.PCI0.LPC0.ECOK ()) { Multiply (\_SB.PCI0.LPC0.EC0.THEM, 0x0A, Local0) Add (Local0, 0x0AAC, Local0) Return (Local0) } Return (DTMP) }