Detecting CPU throttling on over temperature
rnoland at FreeBSD.org
Wed Sep 9 03:42:56 UTC 2009
On Wed, 2009-09-09 at 10:20 +0930, Daniel O'Connor wrote:
> On Wed, 9 Sep 2009, Ian Smith wrote:
> > > > Does anyone know if it is possible to determine if this is the
> > > > case? ie is there a way to be informed if throttling has
> > > > occurred?
> > Might be easier to hack powerd.c as an existing pretty lightweight
> > way of monitoring CPU freq (to log or signal on detected freq lowered
> > by throttling, say?) even if you don't need/want it to actually vary
> > freq according to load, eg setting idle/busy shift factors to
> > 'never/always'?
> Hmm, that could work.
> It seems odd to me that there is no direct way the BIOS can notify the
> OS it's throttling the CPU though.
Some BIOS can and do send an ACPI event when the proc gets hot. In my
experience, this was not a good thing though. The BIOS that I remember
dealing with this on would continuously send the alarms, so while TCC
would kick in and throttle the CPU, the event processing kept it at 100%
utilization until it was powered off to cool. I have also been able to
determine that TCC had kicked in by looking at the cpu frequency via
sysctl and comparing that to the max frequency reported for the proc.
If the BIOS sent the alarm, but throttled the rate it wouldn't have been
so bad. Not that I had any active fan control on that box to do
anything about it really, but TCC might have actually worked if it
wasn't flooding the acpi event processor.
Robert Noland <rnoland at FreeBSD.org>
More information about the freebsd-stable