You are not logged in.

#1 2010-10-24 08:38:59

andr3as
Member
Registered: 2008-10-06
Posts: 53

Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

Hi,
yesterday I followed powertop's advice and compiled a custom kernel with the CONFIG_PCIEASPM option enabled.
Either my laptop (Acer TimelineX 3820TG) is behaving totally strange today, or this option lowered the battery drain by about one third. 
Yesterday, surfing the internet via a 3G usb stick (only firefox, kontact and kopete running) and the normal kernel would discharge the battery at a rate of about 1600 mA. I just booted the custom kernel and the discharge rate is now at 1100 mA or even lower.
Does someone know whether this is "normal" and/or why the option is not enabled in the default kernel? Could it have some unintended side effects in some cases?

I will examine the power saving behaviour more closely in a few days, and if the config option really is responsible for it, I suppose I should add it to the appropriate wiki page, shouldn't I?

Offline

#2 2010-10-24 08:41:37

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,592
Website

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

Yes!


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#3 2010-10-24 09:48:22

andr3as
Member
Registered: 2008-10-06
Posts: 53

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

Okay, I just rebooted a few times with the default kernel and the one with the option set. Some other things might differ, so I am not completely sure if all of the power savings are the result of this option. Here is the battery drain after starting KDE, w/o any other running programs:
default kernel: ~1700 mA
CONFIG_PCIEASPM set: ~1100 mA
The savings seem pretty significant to me, so I added a small section about this option on the  Laptop wiki page.
If somebody has similar results or completely different ones, please post them here or edit the wiki!
(Kernel compilation is really easy, see the wiki ;-) )

Offline

#4 2010-10-24 10:15:10

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,592
Website

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

Are you drawing your conclusion based solely on the powertop readings?  I wonder if setting up some controlled experiment where you measure power dissipation based on some phenotypic readout.  For example, boot into standard kernel with full battery, let it idle (moving the mouse to keep the screensaver from coming on) and time with a stopwatch how long it takes to drain to say 40 %.  Reboot into the modified kernel and do the same thing.  Also, is this the only change you have switched on in the modified kernel?  To be a true experiment, it should be!  How many more minutes do you get out of using the new option if any?

Last edited by graysky (2010-10-24 11:03:11)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#5 2010-10-24 11:21:10

andr3as
Member
Registered: 2008-10-06
Posts: 53

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

You are right, this is not a scientific experiment as I currently do not have the time to wait for the battery to drain that much. But I already stated that ;-)
I started the system three time with each kernel and let it idle for 2 or three minutes. Then I read /proc/acpi/battery/BAT0/state a few times, while waiting about half a minute between each readout.

This laptop takes about 3 hours or even more to reach 40%.
Tomorrow (or so) I will do a more "scientific" test, where I also compile a new kernel with only that change. This discovery was more or less a side-effect, as I wanted to compile most of my used modules into the kernel to see if it would boot faster that way.

Offline

#6 2010-10-24 12:26:06

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

It does work fine for you (or it seems to work fine, the devil is always in the details) but it may not work fine for other people. What is described in this thread [1] may not apply anymore but if it does there is a good reason why it is disabled. If it is still experimental as it seems to be, there may be lots of hardware out there that don't play well with this and may have all sorts of weird problems if this is enabled.

[1] https://bbs.archlinux.org/viewtopic.php?id=102987


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#7 2010-10-24 12:27:34

zephyr
Member
Registered: 2008-03-20
Posts: 103

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

Very nice findings!

Can you tell us the GPU you have and whether you use a closed or open source driver?

Some time ago I compiled my kernel with PCIEASPM on and the proprietary nvidia module would not load.

So unless it can be confirmed that this config option works with all combinations it cannot be default.

You could also check CONFIG_INTEL_IDLE=y . It is marked as experimental in 2.6.35 and I guess also in 2.6.36 and manages Core i3/i5/i7 Powermanagement better than acpi_idle. It must not be compiled as a module, so that it can take precedence over acpi_idle if it finds a compatible cpu (if it doesn't it fallbacks to acpi_idle for other cpu families, so I guess it's kinda safe as a default).

Last edited by zephyr (2010-10-24 12:29:00)

Offline

#8 2010-10-24 12:33:22

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,592
Website

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

@R00KIE and zephyr - just for the f*ck of it, I compiled kernel26-ck with this option enabled (mine is a desktop though) and nvidia loads just fine.  This option is not marked As "EXPERIMENTAL" in 2.26.36 which is what I built.

$ zgrep CONFIG_PCIEASPM /proc/config.gz
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEBUG=y

Last edited by graysky (2010-10-24 12:34:56)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#9 2010-10-24 12:36:41

andr3as
Member
Registered: 2008-10-06
Posts: 53

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

R00KIE, thank you for that information, somehow I missed that thread...  I will continue to test it, but until now, it seems to work fine.

zephyr, I have an AMD 5650 GPU and also an intel one. Currently I use the intel graphics, but I have not tried the AMD one with fglrx and the new kernel yet. But I will do so and post the results.
Thank you for the intel_idle suggestion, I'm happy about any minute that I can squeeze out of the battery ;-)

Offline

#10 2010-10-24 12:41:11

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,592
Website

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

zephyr wrote:

You could also check CONFIG_INTEL_IDLE=y . It is marked as experimental in 2.6.35 and I guess also in 2.6.36 and manages Core i3/i5/i7 Powermanagement better than acpi_idle. It must not be compiled as a module, so that it can take precedence over acpi_idle if it finds a compatible cpu (if it doesn't it fallbacks to acpi_idle for other cpu families, so I guess it's kinda safe as a default).

I believe that this is enabled by default in the currently proposed 2.26.36-ARCH configs.  See http://repos.archlinux.org/wsvn/package … l26/trunk/


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#11 2010-10-24 12:58:12

andr3as
Member
Registered: 2008-10-06
Posts: 53

Re: Kernel compiled with CONFIG_PCIEASPM -> huge power savings?

Actually, this  config value as well as the PCIEASPM one seem to be selected by default. So probably this thread will be obsolete soon ;-)

Offline

Board footer

Powered by FluxBB