PM utils power saving improvements - call for testing
Colin Ian King
colin.king at canonical.com
Wed Dec 14 15:58:53 UTC 2011
On 14/12/11 14:38, Eric Miao wrote:
> On Tue, Dec 13, 2011 at 11:15 PM, Colin Ian King
> <colin.king at canonical.com> wrote:
>> Hi there,
>>
>> == Call for testing: pm-utils power saving improvements ==
>>
>> PM utils power.d scripts control power management settings when a laptop is
>> on mains or battery power. The power.d scripts currently attempt to optimize
>> power savings when on battery power by adjusting settings such as audio and
>> wireless power management, readahead and journal commit settings to name
>> just a few.
>>
>> The kernel provides mechanisms to put specific USB and PCI devices into
>> lower power consuming states and with careful choice of the specific devices
>> we can reduce the overall system power consumption by a few Watts depending
>> on the types of devices installed on a laptop or netbook.
>>
>> Initial analysis on a range of hardware has identified a set of devices
>> (Bluetooth, Wireless, Ethernet, SD card readers) that can be put into a low
>> power state and we are looking for volunteers to test some updated pm-utils
>> power.d scripts. We are interested in two types of test:
>>
>> 1) Do these pm-util scripts save any power across a range of machines?
>>
>> 2) Does enabling these savings affect any device behavior?
>>
>> A crowd-sourcing testing Wiki page has been created that describes how to
>> test these updated pm-utils scripts and can be found at:
>>
>> https://wiki.ubuntu.com/Kernel/PowerManagementPMUtils
> Great work, Colin!
>
> I've updated the page with test on my HP Pavilion dm1, an AMD E-350
> netbook. It did improve, the result of 1st trial, however, seems not
> very consistent which I don't know why.
>
> 1st trial:
>
> BIOS : F.12
> Kernel: Linux pavilion-dm1 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2
> 13:25:36 UTC 2011 i686 athlon i386 GNU/Linux
> Power consumption BEFORE using new pm-utils power.d scripts:
> 5.87 Watts on Average with Standard Deviation 0.25
>
> Power consumption AFTER using new pm-utils power.d scripts:
> 5.86 Watts on Average with Standard Deviation 0.27
>
> 2nd trial:
>
> BIOS : F.12
> Kernel: Linux pavilion-dm1 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2
> 13:25:36 UTC 2011 i686 athlon i386 GNU/Linux
> Power consumption BEFORE using new pm-utils power.d scripts:
> 7.85 Watts on Average with Standard Deviation 0.74
>
> Power consumption AFTER using new pm-utils power.d scripts:
> 7.76 Watts on Average with Standard Deviation 0.76
>
> 3rd trial:
>
> BIOS : F.12
> Kernel: Linux pavilion-dm1 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2
> 13:25:36 UTC 2011 i686 athlon i386 GNU/Linux
> Power consumption BEFORE using new pm-utils power.d scripts:
> 7.82 Watts on Average with Standard Deviation 0.44
>
> Power consumption AFTER using new pm-utils power.d scripts:
> 7.74 Watts on Average with Standard Deviation 0.12
Hrm. Some well behaved batteries provide a power rate directly, which
is normally quite accurate. However other batteries don't have this
feature and one has to calculate the power consumption by monitoring the
battery capacity. However, I have observed that some batteries (like the
HPMini 10) seem to sometimes randomly re-calibrate their notion of total
capacity which can perturb the final calculation, so maybe your battery
is doing this.
The script that does the testing uses powerstat, which is a tool I
hacked up to do the battery measurement. You can run it using:
sudo powerstat
But if you want to make it re-sample if it detects a busy system you can
use:
sudo powerstat -r
..maybe that will provide more stable results for you. However, I
didn't use that on this pm-utils tests as I have not yet fully
calibrated that and sanity checked it on all my boxes.
And finally, powerstat has a -s option that dumps out a summary of task
fork/exec/exit activity it found while gathering the data. It may be
worth seeing how busy your system. However, you shouldn't plug that into
the script I used for testing pm-utils as it spews out lots of extra
output that I don't parse.
Colin
More information about the kernel-team
mailing list