2002-07-02 19:12:30

by Tony Lindgren

[permalink] [raw]
Subject: amd-smp-idle module avail for testing max 90 W power savings

Hi all,

I just posted a module to cut down on the energy bill for people with
dual Athlon systems, well currently only tested on Tyan S2460, which is
based on AMD-760MP chipset.

Amd-smp-idle enables the power savings mode like VCool and LVCool, but
amd-smp-idle uses the Linux PCI features, and supports currently SMP
only. So far I've squeezed out maximum 90 Watt power savings out of my
system :)

Adding support for other chipsets, and maybe merging the LVCool
functionality should be easy. Hopefully the core functionality will
eventually make it to the ACPI to provide C2 support.

Please note that there's a bug where loading the module for the first
time after rebooting causes the system to go sleep mode instead of
the idle mode. To wake up the system, just hit the power button once.
So, don't try this out on a remote server :)

The code is following, or you can also download it from:

http://www.muru.com/linux/amd-smp-idle/

Cheers,

Tony



Attachments:
(No filename) (957.00 B)
amd-smp-idle.c (8.47 kB)
Download all attachments

2002-07-02 19:25:48

by Sebastian Droege

[permalink] [raw]
Subject: Re: amd-smp-idle module avail for testing max 90 W power savings

On Tue, 2 Jul 2002 12:14:54 -0700
Tony Lindgren <[email protected]> wrote:

> Hi all,
>
> I just posted a module to cut down on the energy bill for people with
> dual Athlon systems, well currently only tested on Tyan S2460, which is
> based on AMD-760MP chipset.
>
> Amd-smp-idle enables the power savings mode like VCool and LVCool, but
> amd-smp-idle uses the Linux PCI features, and supports currently SMP
> only. So far I've squeezed out maximum 90 Watt power savings out of my
> system :)
>
> Adding support for other chipsets, and maybe merging the LVCool
> functionality should be easy. Hopefully the core functionality will
> eventually make it to the ACPI to provide C2 support.
>
> Please note that there's a bug where loading the module for the first
> time after rebooting causes the system to go sleep mode instead of
> the idle mode. To wake up the system, just hit the power button once.
> So, don't try this out on a remote server :)
>
> The code is following, or you can also download it from:
>
> http://www.muru.com/linux/amd-smp-idle/
>
> Cheers,
>
> Tony
Hi,
Is it possible to do something similar for AMD-751 or VIA-686a (or other UP Athlon chipsets)?

Bye


Attachments:
(No filename) (189.00 B)

2002-07-02 19:39:19

by Tony Lindgren

[permalink] [raw]
Subject: Re: amd-smp-idle module avail for testing max 90 W power savings

* Sebastian Droege <[email protected]> [020702 12:29]:
> On Tue, 2 Jul 2002 12:14:54 -0700
> Tony Lindgren <[email protected]> wrote:
>
> > Amd-smp-idle enables the power savings mode like VCool and LVCool, but
> > amd-smp-idle uses the Linux PCI features, and supports currently SMP
> > only. So far I've squeezed out maximum 90 Watt power savings out of my
> > system :)
> >
> > http://www.muru.com/linux/amd-smp-idle/
>
> Is it possible to do something similar for AMD-751 or VIA-686a (or other UP Athlon chipsets)?

Yes, you could use LVCool program, or merge the LVCool functionality to
amd-smp-idle. I added place holders for enabling other chips.

Just add functions for enabling north and southbridge, and then fill in
the idle function. I kind of thought of modifying LVCool, but it was not
using the Linux PCI API, and was not really suitable for SMP systems.

LVCool is at:

http://mpet.freeservers.com/LVCool.html

Tony

2002-07-03 05:48:13

by Dieter Nützel

[permalink] [raw]
Subject: Re: amd-smp-idle module avail for testing max 90 W power savings

On Tue, 2 Jul 2002 19:41, Tony Lindgren wrote:
> * Sebastian Droege <[email protected]> [020702 12:29]:
> > On Tue, 2 Jul 2002 12:14:54 -0700
> > Tony Lindgren <[email protected]> wrote:
> >
> > > Amd-smp-idle enables the power savings mode like VCool and LVCool, but
> > > amd-smp-idle uses the Linux PCI features, and supports currently SMP
> > > only. So far I've squeezed out maximum 90 Watt power savings out of my
> > > system :)
> > >
> > > http://www.muru.com/linux/amd-smp-idle/
> >
> > Is it possible to do something similar for AMD-751

Hardly, there is NO chipset dokumentation for the AMD 750 (760) available.

> > or VIA-686a (or other UP Athlon chipsets)?

See below.

> Yes, you could use LVCool program, or merge the LVCool functionality to
> amd-smp-idle. I added place holders for enabling other chips.
>
> Just add functions for enabling north and southbridge, and then fill in
> the idle function. I kind of thought of modifying LVCool, but it was not
> using the Linux PCI API, and was not really suitable for SMP systems.
>
> LVCool is at:
>
> http://mpet.freeservers.com/LVCool.html

Have a look here, too:

http://cip.uni-trier.de/nofftz/linux/

I'll give your code a shot on my brand new
dual Athlon MP 1900+ (MP unlocked XPs, 4th bridge of L5 is closed)
MSI K7D Master-L (MS-6501 v1.0) AMD 760MPX
1 GB DDR266-SDRAM CL2

But it doesn't go hot...;-)

/home/nuetzel> sensors
eeprom-i2c-0-50
Adapter: SMBus AMD768 adapter at 06e0
Algorithm: Non-I2C SMBus adapter

eeprom-i2c-0-51
Adapter: SMBus AMD768 adapter at 06e0
Algorithm: Non-I2C SMBus adapter

w83627hf-isa-0290
Adapter: ISA adapter
Algorithm: ISA algorithm
VCore 1: +1.72 V (min = +4.08 V, max = +4.08 V)
VCore 2: +2.46 V (min = +4.08 V, max = +4.08 V)
+3.3V: +3.36 V (min = +3.13 V, max = +3.45 V)
+5V: +4.94 V (min = +4.72 V, max = +5.24 V)
+12V: +12.16 V (min = +10.79 V, max = +13.19 V)
-12V: -12.65 V (min = -13.21 V, max = -10.90 V)
-5V: -5.10 V (min = -5.26 V, max = -4.76 V)
V5SB: +5.39 V (min = +4.72 V, max = +5.24 V)
VBat: +3.42 V (min = +2.40 V, max = +3.60 V)
U160: 0 RPM (min = 3000 RPM, div = 2)
CPU 0: 4470 RPM (min = 3000 RPM, div = 2)
CPU 1: 4299 RPM (min = 3000 RPM, div = 2)
System: +30.0?C (limit = +60?C, hysteresis = +50?C) sensor = thermistor
CPU 1: +34.0?C (limit = +60?C, hysteresis = +50?C) sensor = 3904
transistor
CPU 0: +36.5?C (limit = +60?C, hysteresis = +50?C) sensor = 3904
transistor
vid: +18.50 V
alarms: Chassis intrusion detection
beep_enable:
Sound alarm disabled
--
Dieter N?tzel
Graduate Student, Computer Science

University of Hamburg
Department of Computer Science
@home: [email protected]

2002-07-04 01:28:52

by Dieter Nützel

[permalink] [raw]
Subject: Re: amd-smp-idle module avail for testing max 90 W power savings

On Wednesday 3 July 2002 05:50, Dieter N?tzel wrote:
> I'll give your code a shot on my brand new
> dual Athlon MP 1900+ (MP unlocked XPs, 4th bridge of L5 is closed)
> MSI K7D Master-L (MS-6501 v1.0) AMD 760MPX
> 1 GB DDR266-SDRAM CL2
>
> But it doesn't go hot...;-)

The module could not be loaded:

SunWave1 src/patches# insmod amd-smp-idle.o
amd-smp-idle.o: init_module: Device or resource busy
Hint: insmod errors can be caused by incorrect module parameters, including
invalid IO or IRQ parameters.
You may find more information in syslog or the output from dmesg

amd-smp-idle: AMD processor idle module version 20020702
amd-smp-idle: Initializing northbridge Advanced Micro Devices [AMD] AMD-760 MP
[IGD4-2P] System Controller
amd-smp-idle: Could not find southbridge

PCI devices found:
Bus 0, device 0, function 0:
Host bridge: Advanced Micro Devices [AMD] AMD-760 MP [IGD4-2P] System
Controller (rev 17).
Master Capable. Latency=32.
Prefetchable 32 bit memory at 0xe8000000 [0xebffffff].
Prefetchable 32 bit memory at 0xee100000 [0xee100fff].
I/O at 0xc400 [0xc403].
Bus 0, device 1, function 0:
PCI bridge: Advanced Micro Devices [AMD] AMD-760 MP [IGD4-2P] AGP Bridge
(rev 0).
Master Capable. Latency=32. Min Gnt=14.
Bus 0, device 7, function 0:
ISA bridge: Advanced Micro Devices [AMD] AMD-768 [Opus] ISA (rev 5).
Bus 0, device 7, function 1:
IDE interface: Advanced Micro Devices [AMD] AMD-768 [Opus] IDE (rev 4).
Master Capable. Latency=32.
I/O at 0xc000 [0xc00f].
Bus 0, device 7, function 3:
Bridge: Advanced Micro Devices [AMD] AMD-768 [Opus] ACPI (rev 3).
Master Capable. Latency=32.
Bus 0, device 16, function 0:
PCI bridge: Advanced Micro Devices [AMD] AMD-768 [Opus] PCI (rev 5).
Master Capable. Latency=32. Min Gnt=6.
Bus 1, device 5, function 0:
VGA compatible controller: 3Dfx Interactive, Inc. Voodoo 4 / Voodoo 5 (rev
1).
IRQ 17.
Non-prefetchable 32 bit memory at 0xe0000000 [0xe3ffffff].
Prefetchable 32 bit memory at 0xd8000000 [0xdfffffff].
I/O at 0xb000 [0xb0ff].
Bus 2, device 0, function 0:
USB Controller: Advanced Micro Devices [AMD] AMD-768 [Opus] USB (rev 7).
IRQ 19.
Master Capable. Latency=32. Max Lat=80.
Non-prefetchable 32 bit memory at 0xed122000 [0xed122fff].
Bus 2, device 4, function 0:
Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 8).
IRQ 16.
Master Capable. Latency=32. Min Gnt=2.Max Lat=20.
I/O at 0x9000 [0x901f].
Bus 2, device 4, function 1:
Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 8).
Master Capable. Latency=32.
I/O at 0x9400 [0x9407].
Bus 2, device 5, function 0:
Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 4).
IRQ 17.
Master Capable. Latency=32. Min Gnt=8.Max Lat=56.
Prefetchable 32 bit memory at 0xee000000 [0xee000fff].
I/O at 0x9800 [0x981f].
Non-prefetchable 32 bit memory at 0xed000000 [0xed0fffff].
Bus 2, device 6, function 0:
SCSI storage controller: Adaptec AHA-2940U/UW/D / AIC-7881U (rev 1).
IRQ 18.
Master Capable. Latency=32. Min Gnt=8.Max Lat=8.
I/O at 0x9c00 [0x9cff].
Non-prefetchable 32 bit memory at 0xed120000 [0xed120fff].
Bus 2, device 9, function 0:
Ethernet controller: Intel Corp. 82559ER (rev 9).
IRQ 17.
Master Capable. Latency=32. Min Gnt=8.Max Lat=56.
Non-prefetchable 32 bit memory at 0xed121000 [0xed121fff].
I/O at 0xa000 [0xa03f].
Non-prefetchable 32 bit memory at 0xed100000 [0xed11ffff].

Thanks,
Dieter

--
Dieter N?tzel
Graduate Student, Computer Science

University of Hamburg
Department of Computer Science
@home: [email protected]