pm-utils: additonal power.d scripts to save power

Bug #911325 reported by Colin Ian King
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pm-utils
Won't Fix
Wishlist
pm-utils (Ubuntu)
Fix Released
Medium
Martin Pitt

Bug Description

The kernel allows us to save power on a range of devices - currently pm-utils power.d does not make full advantage of these power savings.

Tools like PowerTop provide advice on which devices can be set into a "Good" power management state. Analysis on a selection of representative modern mobile x86 based platforms (e.g. netbook, laptop) has shown that a subset of devices can be safely put into a power saving state.

Each of the "Good/Bad" PowerTop device recommendations were measured accurately using a 6 digit digital multimeter. Each measurement was based on measuring current drain over 5 x 60 second periods on the Good and Bad settings and seeing which device shows the most promising power saving. The resulting data can be found here:

http://zinc.canonical.com/~cking/power-benchmarking/powertop-good-bad-recommendations/powertop-good-bad-recommendations.ods

And the write-up of the methodology and conclusions can be found here:

http://zinc.canonical.com/~cking/power-benchmarking/powertop-good-bad-recommendations/results.txt

From this analysis we can draw a conclusion that the following devices behave well to power savings as follows:

 * Webcam
 * Audio
 * DRAM
 * Ethernet
 * Wifi
 * Bluetooth
 * SATA link
 * MMC/SD

From this, two pm-utils power.d scripts were written to control the power state of the above devices. The script pci_devices controls the PCI specific devices and usb_bluetooth controls USB webcams into and out of power saving modes.

These were then tested by community - see: https://wiki.ubuntu.com/Kernel/PowerManagementPMUtils

Power savings were calculated from the ACPI battery information. The characteristics and reliability of ACPI battery data to measure power consumption has been studied here: http://zinc.canonical.com/~cking/power-benchmarking/acpi-battery-results/results.txt - the test scripts used by the community testing use a battery power measuring tool that has been calibrated and checked using a 6 digit multimeter and calculates the average power consumption and standard deviation (to allow us to discriminate against unreliable samples).

From these results, I discarded data where the standard deviation was rather high and also results where the savings or losses were smaller than the standard deviation. This left me with a set of results where we have conclusive data showing us power savings or losses with these new scripts. The conclusion is that the vast majority of machines save power. Also, users tested their machines to see if the devices behaved correctly.

On the samples of machines I have (Dell Inspirion 6400, Lenovo X220i, HP Mini 210 + HP Mini 10) I see no regressions. I therefore am requesting that the two new pm-utils/power.d scripts are added to pm-utils.

Typical savings: 0.38 W per machine with some machines seeing > 1-2W savings.

Attached to this bug report are the two new scripts for pm-utils/power.d

Related branches

Revision history for this message
Colin Ian King (colin-king) wrote :
Revision history for this message
Colin Ian King (colin-king) wrote :
Changed in pm-utils (Ubuntu):
milestone: none → ubuntu-12.04-beta-1
tags: added: battery-power-consumption
Revision history for this message
In , Martin Pitt (pitti) wrote :

Created attachment 55424
power.d script for autosuspending USB bluetooth devices

From https://launchpad.net/bugs/911325:

Colin King spent some days doing extensive and accurate power benchmarking [1],
amongst others the effect of the low-power modes of various hardware.

Here are two scripts which handle USB bluetooth adapters and a subset of PCI devices which are safe to turn into low-power mode.

Typical savings: 0.38 W per machine with some machines seeing > 1-2W savings.

[1] http://zinc.canonical.com/~cking/power-benchmarking/

Revision history for this message
In , Martin Pitt (pitti) wrote :

Created attachment 55425
power.d script for autosuspending safe subset of PCI devices

Changed in pm-utils:
importance: Unknown → Wishlist
status: Unknown → Confirmed
Revision history for this message
Martin Pitt (pitti) wrote :

Committed to Debian packaging git.

Changed in pm-utils (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
importance: Undecided → Medium
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pm-utils - 1.4.1-8+git1

---------------
pm-utils (1.4.1-8+git1) precise; urgency=low

  Upload current Debian packaging GIT head (patches still need to be discussed
  with Debian/upstream before doing a Debian upload).

  * Add 26-inhibit-on-right-status.patch: Do not use the exit status of log
    rather the exit status of the hook thereby allowing inhibit to work.
    Thanks to Ariel Cornejo for the patch! (LP: #665651)
  * Add 01_xfs_buffer_arguments.patch: pm/power.d/xfs_buffer: Fix wrong
    argument ordering. Thanks to Andre Draszik for the patch!
    (LP: #645974)
  * debian/rules: Remove the journal-commit and readahead scripts. Recent
    measurements have shown that they do not save any power in different
    workloads on rotary disks, and in fact increase power usage on SSD.
    (fd.o #44627, LP: #900923)
  * Add debian/power.d/{pci_devices,usb_bluetooth}: Set USB bluetooth to
    autosuspend and a safe subclass of PCI devices to low-power mode during
    powersafe mode. (fd.o #44672, LP: #911325)
 -- Martin Pitt <email address hidden> Wed, 11 Jan 2012 15:26:02 +0100

Changed in pm-utils (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
In , Ajax-a (ajax-a) wrote :

pm-utils hasn't been touched in eight years, none of this is likely to get addressed. Closing bugs and disabling the bz product.

Changed in pm-utils:
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.