From owner-freebsd-ppc@FreeBSD.ORG Thu Jan 15 23:02:50 2015 Return-Path: Delivered-To: freebsd-ppc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 92AD5845 for ; Thu, 15 Jan 2015 23:02:50 +0000 (UTC) Received: from c.mail.sonic.net (c.mail.sonic.net [64.142.111.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 759F3DE6 for ; Thu, 15 Jan 2015 23:02:50 +0000 (UTC) Received: from aurora.physics.berkeley.edu (aurora.Physics.Berkeley.EDU [128.32.117.67]) (authenticated bits=0) by c.mail.sonic.net (8.14.9/8.14.9) with ESMTP id t0FN2kVf021235 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Thu, 15 Jan 2015 15:02:47 -0800 Message-ID: <54B84716.90307@freebsd.org> Date: Thu, 15 Jan 2015 15:02:46 -0800 From: Nathan Whitehorn User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: freebsd-ppc@freebsd.org Subject: Re: PowerMac G5 quad-core, CPU A1 DIODE TEMP: 90.8 C (for example): How to handle? [more data] References: <42CF1E40-5BD5-4B00-86E9-C62AEB9B8B93@dsl-only.net> <15A6D627-9DC7-48AF-B133-94980AFCE46A@dsl-only.net> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Sonic-CAuth: UmFuZG9tSVZVS1TwqDKmkUUhIjwdBGXA7xJx78hZp76Bc+VqKZFV1sofSXCX8aSo6nRyFuo+6jJurl0JXWKX5kOgZo9T03+CE1KDZnbEQ6s= X-Sonic-ID: C;wkqjngqd5BGklfCsS5uE/A== M;uE/9ngqd5BGklfCsS5uE/A== X-Spam-Flag: No X-Sonic-Spam-Details: 0.0/5.0 by cerberusd X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Jan 2015 23:02:50 -0000 The thermal control loop in the kernel is *extremely* simple-minded, just doing a linear ramp-up of fans to match some sort of average temperature in the thermal zone. I'm sure it just isn't sufficient for these machines. Some sort of better algorithm would probably get more enthusiastic with fans when things get toward limits. You can see the algorithm in pmac_therm_manage_fans() in powermac_thermal.c. For testing purposes, you can also manipulate the fans from userland by sysctl if you disable kernel fan control (sysctl machdep.manage_fans). Note that this *also* disables thermal shutdowns, so be very careful not to set the machine on fire. -Nathan On 01/15/15 14:57, Justin Hibbits wrote: > Hi Mark, > > All I can offer to this is a "Me Too". With OS X, running 32 python > 'while True: pass' instances, core temperature never once got above > 75C, but with FreeBSD, ports building repeatedly caused shutdowns. > It's possible, I guess, that we are misreading the sensors, but I'm > not certain at all. > > This happens with both of my quads. I thought maybe the LCS just > needs recharged, but seeing your message, it might be a FreeBSD issue. > > Nathan, can you comment on this? > > - Justin > > On Thu, Jan 15, 2015 at 2:33 PM, Mark Millard wrote: >> For a well-operating PowerMac G5 quad-core for recording over 30 minutes, sampling about once a second, starting idle and doing "make -j 8 buildworld buildkernel": >> >> Low value to high value (for type of value to get idea of range expected)... >> >> dev.smusat.0.cpu_a0_diode_temp: 38.8C to dev.smusat.1.cpu_b1_diode_temp: 68.7C >> >> dev.smu.0.fans.cpu_a_intake.rpm: 484 to dev.smu.0.fans.cpu_a_intake.rpm: 1549 >> >> dev.smu.0.fans.cpu_a_pump.rpm: 1235 to dev.smu.0.fans.cpu_a_pump.rpm: 2214 >> >> >> I put the problem PowerMac G5 quad-core in a about 56degF room in order to try to have it run longer so I could collect more information. This seems to have been enough to keep it somewhat below 90degC generally for the CPU diodes over the initial 30 minutes of "make -j 8 buildworld buildkernel". >> >> Low value to high value (for type of value to get idea of range happening, limited to the first 30 minutes or so)... >> >> dev.smusat.0.cpu_a0_diode_temp: 38.2C to dev.smusat.0.cpu_a1_diode_temp: 90.2C >> (Just one 90.2C at that point and one dev.smusat.0.cpu_a1_diode_temp: 90.1C but a bunch of 89.[5-9]C's.) >> >> dev.smu.0.fans.cpu_a_intake.rpm: 485 to dev.smu.0.fans.cpu_a_intake.rpm: 3184 >> >> dev.smu.0.fans.cpu_a_pump.rpm: 1254 to dev.smu.0.fans.cpu_a_pump.rpm: 3636 >> >> Letting it run longer, however, has lead to more 90.[0-9]C's and messages like (all but the 1st two are from after the 30 minutes): >> >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.2 C) exceeds critical temperature (90.0 C); count=1 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.1 C) exceeds critical temperature (90.0 C); count=1 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.1 C) exceeds critical temperature (90.0 C); count=1 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.2 C) exceeds critical temperature (90.0 C); count=2 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.4 C) exceeds critical temperature (90.0 C); count=3 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.6 C) exceeds critical temperature (90.0 C); count=4 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.4 C) exceeds critical temperature (90.0 C); count=1 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.4 C) exceeds critical temperature (90.0 C); count=2 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.1 C) exceeds critical temperature (90.0 C); count=3 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.1 C) exceeds critical temperature (90.0 C); count=2 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.1 C) exceeds critical temperature (90.0 C); count=3 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.1 C) exceeds critical temperature (90.0 C); count=1 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.1 C) exceeds critical temperature (90.0 C); count=1 >> WARNING: Current temperature (CPU A1 DIODE TEMP: 90.6 C) exceeds critical temperature (90.0 C); count=2 >> >> It did automatically shut down after about 50 min. The other 3 CPU diodes were in the range 68C to 74C or so. A1 just seems to register hotter. It ended with the recorded sequence for a1: >> >> dev.smusat.0.cpu_a1_diode_temp: 89.2C >> dev.smusat.0.cpu_a1_diode_temp: 90.6C >> dev.smusat.0.cpu_a1_diode_temp: 90.6C >> dev.smusat.0.cpu_a1_diode_temp: 90.1C >> dev.smusat.0.cpu_a1_diode_temp: 89.9C >> dev.smusat.0.cpu_a1_diode_temp: 90.1C >> dev.smusat.0.cpu_a1_diode_temp: 90.9C >> dev.smusat.0.cpu_a1_diode_temp: 91.3C >> dev.smusat.0.cpu_a1_diode_temp: 91.1C >> dev.smusat.0.cpu_a1_diode_temp: 91.4C >> dev.smusat.0.cpu_a1_diode_temp: 91.8C >> dev.smusat.0.cpu_a1_diode_temp: 92.0C >> >> >> The high fan/pump figures recorded were: >> >> dev.smu.0.fans.cpu_b_intake.rpm: 3199 >> dev.smu.0.fans.cpu_a_intake.rpm: 3200 >> dev.smu.0.fans.cpu_b_exhaust.rpm: 3198 >> dev.smu.0.fans.cpu_a_exhaust.rpm: 3199 >> dev.smu.0.fans.cpu_a_pump.rpm: 3637 >> >> These are all well above those recorded for the well-operating PowerMac G5 quad-core. >> >> === >> Mark Millard >> markmi at dsl-only.net >> >> >> _______________________________________________ >> freebsd-ppc@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-ppc >> To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org" > _______________________________________________ > freebsd-ppc@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ppc > To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org" >