Date: Wed, 16 Jun 2010 08:05:09 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: Doug Barton <dougb@freebsd.org> Subject: Re: devd and/or ACPI not reporting a heat problem Message-ID: <201006160805.09706.jhb@freebsd.org> In-Reply-To: <4C187778.9060909@FreeBSD.org> References: <4C187778.9060909@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 16 June 2010 3:04:24 am Doug Barton wrote: > Howdy, > > I thought my heat problems were over with this laptop thanks to all the > great suggestions I've received about powerd, no stepping, etc. (I also > propped up both the back and the front to make a nice big air pocket.) > I've always been pretty religious about blowing the dust off the fans > and heat sinks, but I guess it's been dustier than I thought lately > because I finally "caught" my laptop doing what it's been doing for the > last 2 weeks, which is (occasionally) powering down when it was > unattended; and the problem was heat. > > Of course I've been running devd all along, and so I initially ruled out > the heat problem due to this entry in devd.conf: > > # Notify all users before beginning emergency shutdown when we get > # a _CRT or _HOT thermal event and we're going to power down the system > # very soon. > notify 10 { > match "system" "ACPI"; > match "subsystem" "Thermal"; > match "notify" "0xcc"; > action "logger -p kern.emerg 'WARNING: system temperature too > high, shutting down soon!'"; > }; > > I'm not getting any of those notices in the logs, so I was looking other > places. (I do get other ACPI-related activity from devd, such as the > notice that it's going on and off AC power.) > > So, 2-part question, how can I make sure that devd gets the message, and > how do I make sure that the notice comes _before_ the BIOS forces the > system to power off. I.e., I'd like to have some sort of devd notice > that comes in time to do a clean shutdown, or perhaps some other > mitigation strategy prior to the BIOS taking over. Hmm, so the system just polls the temperature every 10 seconds (sys/dev/acpica/acpi_thermal.c has the details) and if it sees a high temperature twice in a row, it sends this event to devd. If it sees it a third time it initiates a shutdown. It may be that the BIOS takes over before those 20 seconds have passed. You can reduce the polling interval by changing hw.acpi.thermal.polling_rate (it is in seconds it seems) to a lower value. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006160805.09706.jhb>