SUSE Brainshare Template 2004
Total Page:16
File Type:pdf, Size:1020Kb
Linux Power Management One Step Ahead! Timo Hoenig <[email protected]> Holger Macht<[email protected]> FOSDEM 2006, February 25th, Brussels This document is licensed under the GNU Free Documentation License Linux Power Management One Step Ahead! ➔ Linux Power Management ➔ The Powersave Architecture ➔ Runtime Device Power Management (RTD-PM) ➔ Live Demo ➔ What's Next? © 2006 Novell Inc. 2 Linux Power Management SSyyssttemem WWee ttaallkk Clients CCaalllsls DD--BBUUSS!! Powersave Daemon CPU Freq Kernel ACPI Device PM HAL 3 Powersave Architecture Clients (KPowersave, wmpowersave, gkrellm-powersave) Client implements: Auto-Suspend, Lock Screen, Event Notifications (...) Daemon interaction: Trigger Suspend, Set CPU frequency, Set Schemes Powersave Libraries Battery D-BUS Helper HAL Helper Information HAL Helper Functions Functions Powerssavve Daaeemoon Scripts ACPI Unload Suspend Handle APM Modules CPU Hotkeys Frequency RTD-PM Set Disk Batteries Settings 4 Scheme Architecture CPU Freq.: CPU Freq.: dynamic High Scheme Scheme Throttling »Powersave« »Performance« Throttling: 50 % 0 % Throttling IDE Disk CPU Freq.: 50 % Settings High CPU Freq.: Throttling: RTD-PM Brightness: dynamic 0 % Brightness: Low High Brightness: Brightness: Low High IDE Disk RTD-PM Settings © 2006 Novell Inc. 5 Validated Distributions ● SUSE Linux ● Fedora Core ● ALT Linux ● Debian ● Ubuntu ● Kubuntu ● Gentoo © 2006 Novell Inc. 6 Runtime Device Power Management (RTD-PM) • Today, we can: • switch the global system state and CPU frequency • adjust LCD brightness • What do we get? • Save time (suspend and resume cycle) • Save power consumption at the expense of performance • Next: • Runtime Device Power Management (RTD-PM) • What do we get? • Extend battery lifetime by switching off unnecessary subsystems or devices (LAN, WLAN, USB, Modem, ...) © 2006 Novell Inc. 7 Runtime Device Power Management • Power States According to ACPI • D0 (fully-on, mandatory) • D1, D2 (depending on device class, optional) • D3 (off, device context lost, mandatory) • Switch Device Power State 1. Identify (e.g. lspci) 2. echo -n [0-3] > $SYSFS_PATH $ lspci |grep Ethernet 02:0e.0 Ethernet controller: Broadcom Ethernet $ echo -n 3 > /sys/bus/pci/devices/0000:02:0e.0/power/state • We should not require users to use echo • UI required, enhance Powersave Daemon clients © 2006 Novell Inc. 8 Test Environment LLaappttoopp LLaappttoopp ((nnoo bbaatttteerryy)) rruunnnniingng QQttDDMMMM [A] © 2006 Novell Inc. 9 Example: IPW 2100 Set device to power state D3 0.825 A Set device to Device fully powered power state D0 0.773 A Device in D3 © 2006 Novell Inc. 10 Live Demo © 2006 Novell Inc. 11 What's Next? 12 User Space Software Suspend KKeernnel Intteerrfaace /dev/snapshot I/O Coonntrroollss - SNAPSHOT_FREEZE - SNAPSHOT_AVAIL_SWAP - SNAPSHOT_* Useerr SSppaaccee TToools Suspend Resume Compression Bootsplash 13 Dynticks • Skip timer ticks if CPU is idle • Make HZ dynamic • HZ is arch depending ➔ Allow the CPU to enter C3 more often • Problems • Losing interrupts © 2006 Novell Inc. 14 Running Out of Time^w Battery. Open Discussion Thanks for coming! Resources of Interest - http://powersave.sourceforge.net/pm-report/ - http://www.opensuse.org/Projects_Powersave - http://powersave.sourceforge.net - http://sourceforge.net/Projects/Powersave - Mailing lists: - [email protected] - [email protected] © 2006 Novell Inc. 16.