[linux-pm] Preparation for a talk on 2.6 power management.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all.

I've been asked to do a talk at the CELF conference in a few weeks, on
the topic of Linux 2.6 Power Management. As you all know, I'm more of a
consumer than a producer, so I'd like to ask for your input. This should
enable me to do a better job of portraying all the issues than I'd
manage on my own. I promise I'll give credit!  (I did suggest asking
Patrick or Pavel, but for some reason, the CELF PM group thought to ask
me first - and I'm going to visit Cyclades in Freemont anyway).

Here's what I have so far...

The Brief:
==========
"Please present on the topic "Linux 2.6 Power Management".  I have been
recommending to most people to use between 35 and 40 minutes for
presentation, and leave between 10 and 15 minutes for questions and
answers.  I think that a general overview of the current directions in
power management infrastructure and technology for the 2.6 kernel would
be really great.
In the area of power management, we also have presentations on 1)
dynamic power management (power profile changes at high frequency during
runtime) and 2) suspend/hibernate to flash.  Your presentation is
currently scheduled for Wednesday, January 26th at 9:00 AM."

The Outline To Date:
====================

1) The overall aims of Power Management (No source here - feel free to
add/blow away in flames)
· Power saving
· Quick return to usable state
· Flexibility - cope with variety of device capabilities, user policies
etc.
· Reliability
· Transparency to userspace (so far as possible)
· Good interaction with related functionality: hotplug.

2) The Challenges in Power Management
· Documentation of device capabilities
· Devices don't always conform properly to standards (bugs)
· The complexity of the task - locking/ordering, minimising
invasiveness, interaction between drivers, provision of generic
functionality but also possibility of overriding, support of drivers
rejecting state changes.
- Interaction between run-time power management (driver sleeps when
nothing to do) and system states (suspend to ram/disk etc)

3) Past Implementations (2.4 - also cover earlier?)
· APM support
· Event notifier chains.
· No STR. Suspend2 works, with some help from userspace.

4) The Current State of Play (2.6 kernel)
· Very much work in progress!
· Focus much more ACPI than now obsolete APM. (True of 2.4 too?)
ACPI concerned with much more than just PM (Resource enumeration, IRQ
routing, Sleep state enumeration/methods?)
· Driver model implementation. Current focus more on system states (STR,
STD). Run-time PM support not handled in driver model?
· Number of drivers still need switching to driver model or
implementation of suspend/resume methods. Particular problem areas USB
and DRI/DRM.
· Actual internal interface for device states still in a state of flux.

5) Current working implementations:
· STR working on some x86, non-SMP systems
· STD (In kernel and Suspend2) work reliably on most x86 systems, ports
to PPC (both) and ARM (Suspend2 2.0).
· Runtime PM support via sysfs interface?

6) The Future
· Stabilise internal API
· Completion of driver support for suspend/resume methods
· SMP, non-x86 support for STR.
· Improved support for other archs.
· Merge Suspend2? :>
· Improved runtime pm support?

Regards,

Nigel
-- 
Nigel Cunningham
Software Engineer, Canberra, Australia
http://www.cyclades.com

Ph: +61 (2) 6292 8028      Mob: +61 (417) 100 574


[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux