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>