Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Jun 2008 18:43:36 -0400
From:      "Alexandre \"Sunny\" Kovalenko" <gaijin.k@gmail.com>
To:        David Wolfskill <david@catwhisker.org>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: How/why would dev.cpu.0.freq_levels change??!?
Message-ID:  <1214779416.925.17.camel@RabbitsDen>
In-Reply-To: <20080629185738.GG13924@bunrab.catwhisker.org>
References:  <200806281738.40672.jhb@freebsd.org> <20080629003216.3AA074500E@ptavv.es.net> <20080629185738.GG13924@bunrab.catwhisker.org>

next in thread | previous in thread | raw e-mail | index | archive | help
I am coming in late in the thread, so if I have misunderstood your
problem, I do apologize.

On Sun, 2008-06-29 at 11:57 -0700, David Wolfskill wrote:
> OK; I've managed to demonstrate a few things:
> 
> * Stopping powerd before the phenomenon occurs does not prevent
>   dev.cpu.0.freq_levels from changing, though it does appear to prevent
>   dev.cpu.0.freq from changing:
>   g1-60(6.3-S)[1] sysctl dev.cpu.0.freq_levels dev.cpu.0.freq
>   dev.cpu.0.freq_levels: 1200/0 1050/0 900/0 750/0 600/0 450/0 300/0 150/0
>   dev.cpu.0.freq: 2400
>   g1-60(6.3-S)[2] 
> 
> * As you can see, this can lead to the "interesting" situation that the
>   current CPU frequency is higher than the maximum "available."
>From my (somewhat limited) understanding of the ACPI spec, BIOS can
change _PSS object (one containing available clock frequencies) and
issue notification to the OS to reevaluate said object. There is no
requirement that BIOS change current CPU frequency while doing that.

You can try to dump your ASL and see if anything there messes up with
_PSS and then issues Notify (xxx.CPU0, 0x80) on the same breath. Killing
that piece of ASL dead should ensure constant CPU frequencies set. You
can post your ASL someplace where I can get to it, I just could not
promise that I'll understand it much better than you.
> 
> * The phenomenon is not limited to when I run RELENG_6; in an effort to
>   avoid the continuous fan whine, I tried running RELENG_7 for a while,
>   and encountered a recurrence rather quickly.  :-(
If it is the mechanism, I have described above, I would expect it to
behave similarly under RELENG_6 and RELENG_7.
> 
> * I tried firing up the Dell diagnostics; they reported OK for each of
>   the CPU & motherboard fans at high speed, but when the diags tried to
>   switch to low speed, they reported that the fans only went down (from
>   10-11K RPM) to about 7K RPM instead of 5K RPM. 
I just emptied can of compressed air into all of the orifices of my
ThinkPad X60 with the end result of average running temperature dropping
about 7C and fan speed reduced appropriately. I am surprised no one
suggested this yet.

> 
> I still don't know what the problems are, but it's apparent that
> something outside FreeBSD's control is misbehaving.  Given that, I
> suppose it would be unreasonable to expect FreeBSD to compensate
> in an attempt to enforce rationality.  :-(
Why not -- I had powerd patch (now obsolete) to compensate for the
excess of the thermal paste under the CPU heatsink -- the sky is the
limit.

> 
> Which still leaves me wondering what type(s) of evasive actions
> make sense: I've become rather accustomed to using a laptop with a
> 1600x1200 screen, and finding another laptop similarly-equipped
> (but newer) at a reasoonable price that will run FreeBSD well appears
> to be somewhat of a challenge.  I'm open to suggestions.
If you are looking for suggestion on the replacement laptop model --
ThinkPad T42p (aftermarket) should fit the bill nicely, otherwise, see
above.

> Maybe I should just see if the local laptop repair place can fix it. :-(
... or start with the canned air.
> 
> Peace,
> david
-- 
Alexandre "Sunny" Kovalenko (Олександр Коваленко)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1214779416.925.17.camel>