Kernel Power Management

Registered by Leann Ogasawara

TBD

Blueprint information

Status:
Complete
Approver:
Pete Graner
Priority:
High
Drafter:
Colin Ian King
Direction:
Approved
Assignee:
Colin Ian King
Definition:
Approved
Series goal:
Accepted for precise
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-12.04
Started by
Andy Whitcroft
Completed by
Colin Ian King

Related branches

Sprints

Whiteboard

Work items for ubuntu-12.04:
[colin-king] define a testing methodology: DONE
[colin-king] Write ACPI battery power measuring tool for laptop users (git://kernel.ubuntu.com/cking/powerstat.git): DONE
[colin-king] Tools/Methodology to graph Fluke power readings: DONE
[colin-king] Client test framework + tests: DONE
[colin-king] Calibrate ACPI battery readings vs read power readings (http://zinc.canonical.com/~cking/power-benchmarking/hpmini-10/battery-calibrate): DONE
[colin-king] 32, 32-pae, 64 bit comparisons: DONE
[colin-king] Measure/validate all existing PM options: (http://zinc.canonical.com/~cking/power-benchmarking/pm-utils-results): DONE
[colin-king] Crowd source PM power.d improvements: https://wiki.ubuntu.com/Kernel/PowerManagementPMUtils: DONE
[colin-king] Look at power of BlueTooth off options when in S3 (http://zinc.canonical.com/~cking/power-benchmarking/bluetooth-suspend): DONE
[colin-king] Measure power consumption of mouse events, should we bother to reduce them: see http://zinc.canonical.com/~cking/power-benchmarking/mouse-movement : DONE
[colin-king] Measure different backgrounds + i915 framebuffer compression: (http://zinc.canonical.com/~cking/power-benchmarking/background-colour-and-framebuffer-compression): DONE
[colin-king] Measure black/white pixels on blanked screen: (http://zinc.canonical.com/~cking/power-benchmarking/background-dpms/results.txt): DONE
[colin-king] Measure CPU config tweaks: (http://zinc.canonical.com/~cking/power-benchmarking/cpu-governor): DONE
[colin-king] Investigate Intel power policy mode (aka MSR_IA32_ENERGY_PERF_BIAS) (http://zinc.canonical.com/~cking/power-benchmarking/msr_ia32_energy_perf_bias/results.txt): DONE
[colin-king] Look at power top recommendations, how much they save, are they reasonable to turn on by default: (http://zinc.canonical.com/~cking/power-benchmarking/powertop-good-bad-recommendations): DONE
[colin-king] Compare UEFI vs BIOS (low priority) (http://zinc.canonical.com/~cking/power-benchmarking/legacy-bios-vs-uefi-firmware): DONE
[colin-king] Identify rogue tasks (wakeups) on a default install (http://zinc.canonical.com/~cking/power-benchmarking/events): DONE
[colin-king] Identify rogue tasks (CPU utilization) on a default install (http://zinc.canonical.com/~cking/power-benchmarking/cpu): DONE
[colin-king] Measure Desktop power consumption, Unity 2D vs 3D, etc (http://zinc.canonical.com/~cking/power-benchmarking/unity-beta2-results): DONE
[colin-king] Sanity check HDD wakeups, when, how, frequency, etc: (http://zinc.canonical.com/~cking/power-benchmarking/hdd-wakeups): DONE
[colin-king] Crowd source + measure PCIe ASPM fixes (https://wiki.ubuntu.com/Kernel/PowerManagementASPM): DONE
[colin-king] Investigate Phoronix Power tests: DONE
[colin-king] Measure power consumption over a range of releases (http://zinc.canonical.com/~cking/power-benchmarking/releases-comparisons): DONE
[colin-king] Measure power consumption over Unity, Gnome Classic, Gnome Classic no-effects (http://zinc.canonical.com/~cking/power-benchmarking/desktop-comparisons): DONE
[colin-king] Investigate power consumed by backlight (http://zinc.canonical.com/~cking/power-benchmarking/backlight-non-linearity): DONE
[colin-king] Compare Win7 to Ubuntu: (http://zinc.canonical.com/~cking/power-benchmarking/windows-7-vs-ubuntu-precise): DONE
[colin-king] Measure i915 and drm power saving options: (http://zinc.canonical.com/~cking/power-benchmarking/i915-and-drm-power-savings): DONE
[colin-king] Write documentation on how to find misbehaving applications: (https://wiki.ubuntu.com/Kernel/PowerManagement/IdentifyingIssues): DONE
[colin-king] Investigate LVDS down clocking (http://zinc.canonical.com/~cking/power-benchmarking/i915-lvds-downclocking): DONE
[colin-king] hdparm spin down time setting (http://zinc.canonical.com/~cking/power-benchmarking/hdparm-spindown-settings): DONE
[colin-king] IRQ balancing: POSTPONED

PM Braindump:

- policy
 - policy AC/!AC does it still make sense for each option
 - is that enough?

* accurately calibrate a set of battery power measurements via /proc/acpi/battery and see how reliably these are
* investigate Intel power policy mode
* identify rogue tasks
* crowd sourcing measurements + improvements
* mouse events - can they be reduced? (granularity)
* bluetooth turn off, and when in S3/S4
* flight mode - power nap
* HDD busy
        identify - what's causing disk wakeups
        why? frequency? what's doing that?
 * powertop recommendations:
Look at dumb power top issues like PCI settings being off
        e.g.power top reports we are in BAD mode.
        Can we enable good w/o causing unreliability?
 * Compare UEFI verses BIOS on like for like tests
 * Measure black verses white pixels on screen blank
 * 32, 32-pae vs 64 bit

Existing PM Options: (see /usr/lib/pm-utils/power.d et al)
 - APM: enabled on all disks
 - anacron: disabled
 - wol: disabled
  - allows PHY to be powered down
 - hal: disable CD poll
  - halsectomy ???
 - intel audio power save
  - is this enabled?
  - is there a non intel equivalent?
 - ext3 commit timeout
  - is there a btrfs equivalent
 - laptop-mode
  - attempts to batch writes
 - pcie_aspm
  - more power conservative mode
 - block device read ahead
  - ???
 - Sata link management
  - ALPM can we turn that back on?
 - scheduler placement
 - wireless power savings
  - reducing transmit power etc
 - XFS buffering

Other options:
 - audio power save, can we start using this
 - USB power saving?
 - video settings
  - framebuffer compression 'boundaries'
  - clock settings
 - LCD set to white saves power over black
  - can we measure this, use with? dpms
 - off the shelf machines with issues
 - review phoronix stuff

Powertop - broken?

Investigate:
 - suspended not turning everything off
 - idle power consumption
  - natty/oneiric (virgin install, just kernel)
  - daily iso comparisons
   - hand off to QA for QQ
 - identifying power suckers
 - are there other things we can switch
  - power policy in the processor (MSR)
 - lesswatts.org recommendations

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.