From owner-freebsd-acpi@FreeBSD.ORG Sun Feb 10 05:25:25 2008 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 3BBFD16A420; Sun, 10 Feb 2008 05:25:25 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from gaia.nimnet.asn.au (nimbin.lnk.telstra.net [139.130.45.143]) by mx1.freebsd.org (Postfix) with ESMTP id 1915913C45A; Sun, 10 Feb 2008 05:25:22 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from localhost (smithi@localhost) by gaia.nimnet.asn.au (8.8.8/8.8.8R1.5) with SMTP id QAA15746; Sun, 10 Feb 2008 16:25:10 +1100 (EST) (envelope-from smithi@nimnet.asn.au) Date: Sun, 10 Feb 2008 16:25:09 +1100 (EST) From: Ian Smith To: "Alexandre \"Sunny\" Kovalenko" In-Reply-To: <1202475519.7014.7.camel@RabbitsDen> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: acpi@freebsd.org, Hajimu UMEMOTO Subject: Re: [RFC] Patch to enable temperature ceiling in powerd 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: Sun, 10 Feb 2008 05:25:25 -0000 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" > > >> > > >> On Fri, 2008-02-08 at 00:50 +0900, Hajimu UMEMOTO wrote: > > >>>>>>>> On Wed, 30 Jan 2008 17:56:19 -0500 > > >>>>>>>> "Alexandre \"Sunny\" Kovalenko" 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