From owner-freebsd-hackers@FreeBSD.ORG Fri Aug 17 03:16:55 2007 Return-Path: Delivered-To: freebsd-hackers@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E515516A417; Fri, 17 Aug 2007 03:16:55 +0000 (UTC) (envelope-from alex.kovalenko@verizon.net) Received: from vms048pub.verizon.net (vms048pub.verizon.net [206.46.252.48]) by mx1.freebsd.org (Postfix) with ESMTP id C936113C459; Fri, 17 Aug 2007 03:16:55 +0000 (UTC) (envelope-from alex.kovalenko@verizon.net) Received: from [10.0.3.231] ([70.21.128.114]) by vms048.mailsrvcs.net (Sun Java System Messaging Server 6.2-6.01 (built Apr 3 2006)) with ESMTPA id <0JMW00B73EG199V0@vms048.mailsrvcs.net>; Thu, 16 Aug 2007 22:16:51 -0500 (CDT) Date: Thu, 16 Aug 2007 23:16:50 -0400 From: "Alexandre \"Sunny\" Kovalenko" In-reply-to: <20070802.221327.1783981813.imp@bsdimp.com> To: "M. Warner Losh" Message-id: <1187320610.1176.4.camel@RabbitsDen> MIME-version: 1.0 X-Mailer: Evolution 2.10.3 FreeBSD GNOME Team Port Content-type: text/plain Content-transfer-encoding: 7bit References: <20070801.211718.1683324313.imp@bsdimp.com> <46B20F91.5080709@root.org> <1186101359.846.12.camel@RabbitsDen> <20070802.221327.1783981813.imp@bsdimp.com> X-Mailman-Approved-At: Fri, 17 Aug 2007 03:36:54 +0000 Cc: acpi@FreeBSD.org, freebsd-hackers@FreeBSD.org, gahr@gahr.ch, ume@FreeBSD.org, nate@root.org Subject: Re: [patch] enhance powerd(8) to handle max temperature X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Aug 2007 03:16:56 -0000 On Thu, 2007-08-02 at 22:13 -0600, M. Warner Losh wrote: > 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 ;) It just dawned on me that I have hit Reply, not Reply All previously, which has likely caused my reply to be buried somewhere in the bowels of your SPAM filtering software. So, here it goes again: > > 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) > } Could you, please, change Return(DTMP) in the snippet above to Return(0x0B10) compile your ASL, overwrite it on boot and let me know what temperature reading is -- it either will stay at 0.0C or at 10.0C, which is not at all useful for day-to-day operation but will tell me which code path has been taken. Also, please, either send me *all* of your ASL or put it up somewhere for download. -- Alexandre "Sunny" Kovalenko