This commit is contained in:
gferg 2003-10-08 16:39:46 +00:00
parent 400743cbae
commit 86eb5d683c
3 changed files with 106 additions and 33 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
"http://docbook.org/xml/4.2/docbookx.dtd" []>
<article>
@ -18,12 +18,18 @@
<address><email>daniel@nofftz.net.NOSPAM</email></address>
</affiliation>
</author>
<!-- All dates specified in ISO "YYYY-MM-DD" format -->
<pubdate>2003-08-29</pubdate>
<pubdate>2003-10-04</pubdate>
<!-- Most recent revision goes at the top; list in descending order -->
<revhistory>
<revision>
<revnumber>1.1.0</revnumber>
<date>2003-10-04</date>
<authorinitials>dn</authorinitials>
<revremark>a big bunch of new informations and links</revremark>
</revision>
<revision>
<revnumber>1.02</revnumber>
@ -46,13 +52,6 @@
<revremark>Initial release, reviewed by LDP</revremark>
</revision>
<revision>
<revnumber>0.12</revnumber>
<date>2003-06-13</date>
<authorinitials>dn</authorinitials>
<revremark>minor xml sourcecode rework, final draft for ldp release</revremark>
</revision>
</revhistory>
<!-- Provide a good abstract; a couple of sentences is sufficient -->
@ -76,7 +75,12 @@
The HLT signal which is used by the normal idle-loop of the Linux kernel
does not bring any significant power-saving on processors of the Athlon/Duron
family (hereafter referred to as Athlon processors). To get real power-saving on an
Athlon processor, you have to put the processor in the STPGNT-Mode (Stop Grant Mode). In this mode, the processor is disconnected from the front-side bus (FSB), and can turn off parts of the CPU as well as reduce the clock to save power.
Athlon processor, you have to put the processor in the STPGNT-Mode (Stop Grant Mode).
In this mode, the processor is disconnected from the front-side bus (FSB), and can
turn off parts of the CPU as well as reduce the clock to save power.
</para>
<para>
Some modern Motherboards/Chipsets also support a Function to make a STPGNT when a HLT signal is detected.
</para>
</sect2>
@ -160,35 +164,46 @@
<para>
In the following section I present different approaches to achieve the same goal:
power-saving on your Athlon-based system. My recommended approach at the
moment is to use the <quote>command-line hack,</quote> because the kernel patch is outdated and
will not be developed any further, and the <emphasis>LVCool</emphasis> patch supports only one chipset family.
moment is to use the <quote>command-line hack,</quote> because the kernel patch
is outdated and will not be developed any further, and the
<emphasis>LVCool</emphasis> patch supports only one chipset family.
The <emphasis>athcool</emphasis> program sounds good, but I haven't tested it myself.
</para>
<para>
All these approaches will set the <quote>Disconnect eable when STPGNT detected</quote> bit
in the north bridge of the chipset. Nothing more and nothing less than that. All
other work is done by the ACPI subsystem of the kernel which sends a STPGNT signal
to the processor, when it enters the acpi-c2 idle mode. (Only the LVCool solution takes
a different way ...)
Nearly all of these approaches will set the <quote>
Disconnect enable when STPGNT detected</quote> bit
in the north bridge of the chipset. All other work is done by the ACPI subsystem of
the kernel which sends a STPGNT signal to the processor, when it enters the acpi-c2 idle
mode.
</para>
<para>
If you haven't already got a kernel with ACPI support, you have to enable it in
the kernel setup and then recompile the new kernel. You'll find the
ACPI-options under <menuchoice><guimenu>General Setup</guimenu><guimenu>Power Management Setup</guimenu><guimenuitem>ACPI</guimenuitem></menuchoice>. You must have at least the following options: <guimenuitem>ACPI Bus Manager</guimenuitem>, <guimenuitem>System</guimenuitem> and <guimenuitem>Processor.</guimenuitem>
</para>
<para>
Or for the new 2.4.22 Kernel: <menuchoice><guimenu>General Setup</guimenu><guimenu>ACPI Support</guimenu></menuchoice>. You must have at least the following option: <guimenuitem>Processor</guimenuitem>.
</para>
<para>
Some Chipsets also support a STPGNT if a HLT signal is detected. This Motherboards/Chipsets
don't need ACPI to be enabled! At the moment i look for feedback which Chipsets work without
ACPI and which need ACPI. Maybee you could test it on your Motherboard and send me a mail.
(see <xref linkend="testing" />)
</para>
<sect2 id="commandline">
<title>The Command-line Hack</title>
<para>
To use the command-line hack you have to enable ACPI in the kernel. How you can do this is described in <xref linkend="patch" />. If you already have a kernel with ACPI-processor support, you can enable/disable the
power-saving right from the command-line without any need for rebooting.
To use the command-line hack you normaly have to enable ACPI in the kernel, otherwise it is mentioned. No reboot is needed to enable the Powersaving. You could enable/disbale it from the command line with this commands:
</para>
<para>
<variablelist>
<varlistentry>
<term>on KT133/133A, KX133, KL/KLE133, KM/KN133, ...:</term>
<term>on KT133/133A, KX133, KL/KLE133, KM/KN133, ...: (needs definitively acpi enabled)</term>
<listitem>
<para>
enable: <command>setpci -v -H1 -s 0:0.0 52=$(printf %x $((0x$(setpci -H1 -s 0:0.0 52) | 0x80)))</command>
@ -212,7 +227,7 @@
</varlistentry>
<varlistentry>
<term>on KT400: (experimental! plz report, whether it works)</term>
<term>on KT400:</term>
<listitem>
<para>enable:</para>
<para><command>setpci -v -H1 -s 0:0.0 D2=$(printf %x $((0x$(setpci -H1 -s 0:0.0 D2) | 0x80)))</command></para>
@ -251,7 +266,7 @@
</varlistentry>
<varlistentry>
<term>on Nforce2:</term>
<term>on Nforce2: (works without acpi enabled)</term>
<listitem>
<para>enable: <command>setpci -v -H1 -s 0:0.0 6F=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6F) | 0x10)))</command></para>
<para>disable: <command>setpci -v -H1 -s 0:0.0 6F=$(printf %x $((0x$(setpci -H1 -s 0:0.0 6F) &amp; 0xef)))</command></para>
@ -316,10 +331,12 @@
<title>Ok... now step by step, here's how to apply the patch:</title>
<step>
<para>
First you have to download the patch:
<ulink url="http://www.daniel.nofftz.net/linux/amd_cool.diff">
Kernel Patch for 2.4.17</ulink>
</para>
First you have to download the patch: </para>
<para><ulink url="http://www.daniel.nofftz.net/linux/amd_cool.diff">
Kernel Patch for 2.4.17</ulink></para>
<para><ulink url="http://www.daniel.nofftz.net/linux/amd_cool.linux-2.4.21.diff">
Kernel Patch for 2.4.21</ulink> (thx to Thomas Reinhardt for porting it to 2.4.21)</para>
</step>
<step>
<para>
@ -361,10 +378,32 @@
<emphasis>LVCool</emphasis> is a small port of the Windows programm
<ulink url="http://vcool.occludo.net/">
VCool</ulink>. It only supports the KT133/133A and KX133 chipset and
I can provide no support for it. You can download it
I can't provide support for it. You can download it
<ulink url="http://vcool.occludo.net/VC_Linux.html">
here</ulink>. This is the only solution which does not use the ACPI
system of the Linux kernel.
here</ulink>. This solutions needs no ACPI compiled in the kernel.
</para>
</sect2>
<sect2 id="fvcool">
<title>The FVCool Program</title>
<para>
<ulink url="http://www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html">
Here</ulink> is another Powersaving program which supports several chipsets. I didn't test it
by myself but i heared it works. Check it out ... There is also a program provided with
which you could use the onboard monitoring chips on some motherboards
(like the lm-sensors package).
</para>
</sect2>
<sect2 id="760MP">
<title>AMD 760MP Powersaving</title>
<para>
There is a kernel module which enables powersaving on the 760MP multiprocessor chipset. You
could find it
<ulink url="http://www.muru.com/linux/amd-smp-idle/">
here</ulink>. I don't know how good it works, but i got at least one mail from someone
who said it works for him. So check it out.
</para>
</sect2>
@ -373,6 +412,33 @@
<sect1 id="else">
<title>What Else?</title>
<sect2 id="testing">
<title>How to test, whether it works</title>
<para>
Ok ... you use one of the described powersaving possibilitys and you want to verify, whether
it works. Here are two ways to check it:
</para>
<para>
If you have temperature controlled Fan on your CPU-Heatsink, you could check for the noise level of the Fan to see whether it works or not. After a few idle minutes you give the CPU somthing to do.
<procedure>
<title>I normaly do it like this:</title>
<step>
get superuser (root)
</step>
<step>
<command>cd /usr/src/linux</command>
</step>
<step>
and give the computer something to do: <command>while true; do make clean; make bzImage; done</command>
</step>
</procedure>
After about 20 or 30 seconds you should notice that the noise of the fan is getting louder while the fan is getting faster. Don't forget to end the while-loop after some time ( a few minutes) with STRG-C.
</para>
<para>
The same procedure as above works also with a monitoring program for the cpu-temperature (like lm-sensors or xmbmon).
</para>
</sect2>
<sect2 id="bugs">
<title>Known Bugs/Problems</title>
@ -393,6 +459,12 @@
<listitem>
<para>system hangs</para>
</listitem>
<listitem>
<para>USB problems</para>
</listitem>
<listitem>
<para>someone reported a high cheeping noise</para>
</listitem>
</itemizedlist>
</para>
@ -427,7 +499,7 @@
<para>some motherboard voltage-regulators could have the same problems like the PSU ;)</para>
</listitem>
<listitem>
<para>you have a K7S5A (as far as I know, this board could be really wired when power-saving is enabled)</para>
<para>you have a K7S5A (as far as I know, this board could be really wierd when power-saving is enabled)</para>
</listitem>
</itemizedlist>
</para>
@ -461,6 +533,7 @@
Italian</ulink> by Maurizio Fantino</para>
<para><ulink url="http://www.linuxwiki.de/PowersavingHowto">
German (only parts)</ulink> by Fabian Mohren</para>
<para><ulink url="http://www.linux.or.jp/JF/JFdocs/Athlon-Powersaving-HOWTO/index.html">Japanese</ulink> by Seiji Kaneko</para>
</sect2>
</sect1>

View File

@ -309,7 +309,7 @@ disks. </Para>
Athlon-Powersaving-HOWTO</ULink>,
<CiteTitle>Athlon Powersaving HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: Aug 2003</CiteTitle>.
<CiteTitle>Updated: Oct 2003</CiteTitle>.
How to enable the power-saving functionality of the
Athlon/Duron/AthlonXP processor on some motherboards/chipsets. </Para>
</ListItem>

View File

@ -1480,7 +1480,7 @@ power management from within the operating system. </Para>
Athlon-Powersaving-HOWTO</ULink>,
<CiteTitle>Athlon Powersaving HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: Aug 2003</CiteTitle>.
<CiteTitle>Updated: Oct 2003</CiteTitle>.
How to enable the power-saving functionality of the
Athlon/Duron/AthlonXP processor on some motherboards/chipsets. </Para>
</ListItem>