Date: Wed, 7 Aug 2002 12:58:31 -0300 From: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> To: Terry Lambert <tlambert2@mindspring.com> Cc: freebsd-hackers@FreeBSD.org, Michael Nottebrock <michaelnottebrock@gmx.net>, Gary Jennejohn <garyj@jennejohn.org>, Aaron Seelyes <aseelye@urx.com> Subject: Re: Cooling idle Athlon/Duron processors? (vcool) Message-ID: <20020807155853.38997.qmail@exxodus.fedaykin.here> In-Reply-To: <3D50B6C1.C247FF5B@mindspring.com> References: <20020807050725.96740.qmail@exxodus.fedaykin.here> <3D50B6C1.C247FF5B@mindspring.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 06, 2002 at 10:56:59PM -0700, Terry Lambert wrote: > Mario Sergio Fujikawa Ferreira wrote: > > I know that this surfaces every once in a while. However, > > I thought I could try to add more information. I did a little digging > > on the issue. > > Every time this comes up I ask: > > o Have you got a software method of detecting use of a half > frequency multiplier yet? I could not find an answer for that. What I found was that ----- (BEGIN - http://www.cpuidle.de) 14 Processors with Half-Frequency Multipliers May Hang Upon Wake-up from Disconnect Products Affected: A4, A5, A6, A7, A9. Normal Specified Operation: The processor should reconnect to the system bus upon wake-up after a disconnect while in the C2 and C3 ACPI low-power states. Non-conformance: The processor uses a special circuit to wake up from a low-power state and reconnect to the system bus when the nominal operating frequency is generated with a half- frequency multiplier. This circuit is rarely observed to glitch when coming out of the C2 and C3 low-power states. Potential Effect on System: The system will hang. ----- (END - http://www.cpuidle.de) Information on some of these processors - AMD Athlon Processor Model 4 Revision Guide http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/23614.pdf - AMD Athlon Processor Model 6 Revision Guide http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24332.pdf - AMD Duron Processor Model 7 Data Sheet http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24310.pdf - k7cpuid.book http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/20734.pdf Best short term solution, warn the user that he has one of the possibly affected processors. Therefore, user would need a -FORCE option to still proceed with cooling attempt. OR, make enabling optional. > o Have you got a software method of diabling the ACPI C2 > and C3 low-power states? It would seem that there is an old ACPI Linux driver that "could" do this. I am unable to verify "Linux ACPI-HOWTO Ariel Glenn, ariel@columbia.edu v 0.1e, 22 January 2001 - How to disable entering either C2 or C3 (at boot time) http://www.columbia.edu/~ariel/acpi/acpi_howto.txt no-c2 Before initialization, some global variables are set so that the no-c3 processor power states C2 and C3 states cannot be entered. During normal initialization, C2 (cpu idle) and C3 (cpu idle, caches ignore snoops) states are both enabled. This step will be skipped if these options are enabled. Set the no-c2 option to disable entering C2; set no-c3 to disable entering C3. (off by default) Well, I believe that he did add some instrumentation to the ACPI code to disable activation of the states. This might be undesirable for your reasons mentioned below. Nevertheless, same short term solution as before, have this as an optional thing. > o Have you figured out how to make use of C2 and C3 vs. > disconnect, so that this can be done at the user option? Well, I have been mentioning "optional thing". What I mean is that this can be done from user land. No kernel modules. At least that is how Linux does it. Once again, I am neither sure this is possible under FreeBSD nor do I say that it REALLY works under Linux since I am unable to verify it. - Linux simplified version of VCool http://vcool.occludo.net/lvcool.tar.gz lvcool is a Linux command line utility that will WITHOUT any specific kernel support modify both NorthBridge and SouthBridge registers to enable "Bus Disconnect". It follows the steps I listed in my last email. Therefore, it is completely optional since it is command line only. Of course, it requires increased privileges to do its deed so it has to be run as root. > o Can you *reliably* detect the AMD Athlon Model 4 PLL via > software? > > o Have you been able to get AMD to release the contents of > their proprietary REvision documents #23614 and #24478 so > that the CLK_CTRL MSR reconnect timining can implement the > necessary workaround in software? > > o Is there a way to detect, in software, the variability of > the power supply, since the thing can hang on wakeup with > the 35-55W delta increase in power consumnption coming out > of the sleep? These last 3 are not possible to answer at this current time. However, I would stress both command line and optional. > Then I point out that ACPI is hard enough as it is, without trying > t disable only parts of it so that you can do a weird hack on the > Northbridge to support disconnect. This I will not disagree. I am most happy at the hard work of ACPI developers. I am not trying to get them to side track from main development. However, this might be possible to test outside of the kernel code with a command line utility. > Then I point them at: > > http://vcool.occludo.net/vc_freezes.html > > So that it's obvious that it's the author of "vcool" who has > identified these problems, and not just me. If it is all optional and there is A BIG WARNING: AT YOUR OWN RISK... YOUR SYSTEM MIGHT HANG.... DON'T ANNOY US ABOUT IT... That's the beauty of having a command line utility. Everything can be changed at run time. > Feel free to write a kernel module and/or provide patches for doing > "vcool" for FreeBSD. Just as long as it's off by default, until you > resolve the bullet pointed questions, above. Unfortunaly, I am no kernel programmer of any caliber. What I did was gather as much information as possible so that I could help kernel programmers do it. However, when I meant kernel programmers, I really meant driver programmers. What seems to be needed is someone who has the knowledge on how to: 1) probe the motherboard for chipsets (NorthBridge and SouthBridge) 2) program them accordingly Well, I provided some info on what needs to be done on my last email. Also, lvcool seems like a good example since it seems to be working under Linux. The fact that it makes some systems unstable does not detract value from this solution. You try it, it works for you, you keep it. It doesn't, don't enable at next boot. I have been lucky to verify that it works on both ASUS A7M266, ASUS A7V133 and ECS K7S5A with different combinations of Duron Morgan, Athlon TBird and Athlon XPs. I know others have not as much but that is not a problem if they just do not enable the utility again. Regards, -- Mario S F Ferreira - DF - Brazil - "I guess this is a signature." Computer Science Undergraduate | FreeBSD Committer | CS Developer flames to beloved devnull@someotherworldbeloworabove.org feature, n: a documented bug | bug, n: an undocumented feature To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020807155853.38997.qmail>