From owner-freebsd-hackers Wed Aug 7 7:35:26 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8730137B400; Wed, 7 Aug 2002 07:35:18 -0700 (PDT) Received: from alpha.yumyumyum.org (dsl092-171-091.wdc1.dsl.speakeasy.net [66.92.171.91]) by mx1.FreeBSD.org (Postfix) with ESMTP id D014343E75; Wed, 7 Aug 2002 07:35:16 -0700 (PDT) (envelope-from culverk@yumyumyum.org) Received: from alpha.yumyumyum.org (localhost [127.0.0.1]) by alpha.yumyumyum.org (8.12.5/8.12.3) with ESMTP id g77EZ8jN004776; Wed, 7 Aug 2002 10:35:09 -0400 (EDT) (envelope-from culverk@yumyumyum.org) Received: from localhost (culverk@localhost) by alpha.yumyumyum.org (8.12.5/8.12.3/Submit) with ESMTP id g77EZ7iX004773; Wed, 7 Aug 2002 10:35:07 -0400 (EDT) (envelope-from culverk@yumyumyum.org) X-Authentication-Warning: alpha.yumyumyum.org: culverk owned process doing -bs Date: Wed, 7 Aug 2002 10:35:07 -0400 (EDT) From: Kenneth Culver To: Mario Sergio Fujikawa Ferreira Cc: freebsd-hackers@FreeBSD.ORG, Michael Nottebrock , Terry Lambert , Gary Jennejohn , Aaron Seelyes Subject: Re: Cooling idle Athlon/Duron processors? (vcool) In-Reply-To: <20020807050725.96740.qmail@exxodus.fedaykin.here> Message-ID: <20020807103400.H4711-100000@alpha.yumyumyum.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG > 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. > This is related to the following thread: > > Subject: AMD low power hacks > > http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=utf-8&threadm=ai6g47%242aat%241%40FreeBSD.csie.NCTU.edu.tw&rnum=1&prev=/groups%3Fq%3Dfreebsd%2Bpciconf%2Bvcool%26hl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3Dutf-8%26selm%3Dai6g47%25242aat%25241%2540FreeBSD.csie.NCTU.edu.tw%26rnum%3D1 > > Well, I have been using this nice utility VCool under Windows > for quite some time. It has been able to decrease my CPU temperatures > from 60C to <50C. So, it's more than 10C decrease. Just a note, if your athlon is running this hot, you have other problems. Get a better heatsink/fan combo and put some silver based thermal compound between the cpu and the heatsink. I'm running an Athlon XP 2000+ that never goes over 100F, even when under a full 100% cpu load. Ken > > VCool is available at http://vcool.occludo.net/. There is even > a Linux version there at http://vcool.occludo.net/VC_Linux.html. Of course, > the Linux version does not have all the features of the Windows version > but the main feature which is temperature decrease exists. > > Here goes a little summary of what I could understand of > both how and why VCool works: > > -------------- (Begin - From VCool homepage) > > - Requirements: > > Chipset with a VT8371, VT82C691/693A/694 or VT8363 Northbridge > and a VT82C686x Southbridge (VIA KT133x or KX133) - limited support > for AMD 761 > > ------- > > - How it works: > > The Athlon (or Duron) enters a lower power state only when > its system bus is disconnected. However the (VIA-)Northbridge will > only disconnect the bus if its "Bus Disconnect Enable" bit is set > and the CPU is in STPGNT state. VCool allows you to enable this > bit so your CPU can relax when there's nothing to do. > > Setting this bit might not be enough on some systems as the > idle loop provided with the OS will not put the CPU into > the STPGNT state recognized by the Northbridge. For those > cases VCool includes an internal idle loop that forces the > CPU into the STPGNT mode required by the Northbridge to > initiate a bus disconnect. > > ------- > > - I see no cooling effect: (this is important for those > testing the idea or questioning why this would work better > than any ACPI support we already have) > > 1) Make sure your system is idle when VCool is not running: > Software coolers will have no effect on busy systems. Use the task > manager (W2K) or Wintop (W98) to see if there are any threads eating > up time (e.g. SETI@home). > > 2) Start VCool and set the NB Cool Bit but deactivate the > loop. Check again that your system is still idle. > > 3) Still no temperature drop? Then enable the idle loop. > When you check utilization you should see that VCool eats up most > of the CPU time now. > > On newer systems the Halt Detect PCI option is often required to > achieve cooling. You can configure VCool to use this option instead > of the cool bit or even both. > > NOTE: In some cases the idle loop might actually increase the > temperature with Halt Detect enabled, so try try deactivating the > loop. If you still don't see any cooling effect, VCool doesn't > work on your system. > > -------------- (End - From VCool homepage) > > A Linux version of VCool can be found at > http://vcool.occludo.net/VC_Linux.html . This version neither > supports AMD761 correctly NOR has Halt Detect PCI option. > > Here is a summary of how the Linux version works. Detailed information > on how it all should work can be found in > http://vcool.occludo.net/VC_Theory.html > > 1) Check if CPU is either Atlhon or Duron AMD. Proceed if > it is. Otherwise, stop; > > 2) Detect NorthBridge chipset > > 2.1) Set VIA=0, if it's neither 0x03051106, > 0x03911106 nor 0x06861106 (Gigabyte GA-7DXR -> > AMD761+VIA686); > > 2.2) Otherwise, VIA=1; > > 3) If (VIA==1) > > 3.1) Detect SouthBridge > 3.1.1) If chipset is neither 0x30571106 nor > 0x30571106, set VIA=0; > > 4) If (VIA==0) > > 4.1) Look all the possible addresses where either > NorthBridge and SouthBridge could be; > 4.1.1) If chip is either 0x03051106 or 0x03911106, > found VIA NorthBridge; > 4.1.2) If chip is 0x30571106, found VIA SouthBridge; > 4.2) If found both NorthBridge and SouthBridge > chips, proceed. Otherwise, stop; > > 5) SouthBridge, enable ACPI and find I/O-Space; > > 6) NorthBridge, enable "Bus Disconnect when STPGNT detected" > bit; > > 7) Enter idle loop. > > > Well, as you can notice, the AMD761 NorthBridge chipset is > not supported since (4.2) will obviously never detect both NorthBridge > and SouthBridge VIA chips. Also, there is no support for "Halt > Detect PCI" option. Furthermore, since some systems cool better > WITHOUT the idle loop as noted in the information from VCool homepage, > this design is not optimal. > > Well, what we need to fix... Wishlist: > > 1) AMD761 NorthBridge has specific support to disconnect > the bus when entering either HLT or GRANT/STOP states > > 1.1) According to "AMD-761 System Controller > Software/BIOS Design Guide" page 62 > http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24081.pdf > > "BIU0 Status/Control (Dev0:F0:0x60) Bit 18 controls this" > > "Bit 18 - Halt_Discon_En - Halt Disconnect Enable > 0 = No AMD Athlon system bus disconnect is performed following HALT > 1 = AMD Athlon system bus disconnects after receiving a HALT special cycle." > > > "Bit 17 - Stp_Grant_ Discon_En - Stop Grant Disconnect Enable > 0 = No AMD Athlon processor system bus disconnect is performed following STOP/GRANT. > 1 = AMD Athlon processor system bus disconnects after receiving a STOP/GRANT special" > > We need to set bits both 17 and 18 to 1. Then proceed > to SouthBridge as usual. > > 2) Add "Halt Detect PCI" option > > Have no idea about this. Anyone? Actually, what does this option mean? > > 3) Optional idle loop > > Just add a command line option to either idle or not > > 4) Add option to either enable or disable the "cool" bit > since it is possible that this bit might have adverse effects > on system behavior. Good for testing > > > Anyone up for this? I think this is a nice addition for AMD processor > owners. > > Regards, > > * Related information: > > - AMD-761 System Controller Revision Guide > - talks about problems with ACPI modes, HLT, STOP, GRANT > http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/23613.pdf > > -- > 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 > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message