Linux power management has been worked on very actively in recent years and many useful features related to it have been implemented, but there still are problems to address in that area and it is desirable to take advantage of new hardware power management capabilities. For example, there are systems where devices share power resources and cannot be powered down individually, which needs to be taken into account. Moreover, there are systems where CPU power management (cpuidle) and the runtime power management of I/O devices depend on each other because of power resources shared between those CPUs and I/O devices. Implementing efficient runtime power management on those systems will require substantial amount of work in the kernel core as well as in individual device drivers.
The discussions in this track will cover the most recent achievements in the power management area as well as work in progress targeted at addressing the above issues and possible future directions of development.
In the previous years we used to organize Power Management Mini Summits to discuss similar issues, the last of which took place during LinuxCon in Boston in 2010. Unfortunately, however, it wasn't particularly well attended and the participants generally felt that it had failed its purpose. The power management track at the last LPC, on the other hand, was generally regarded as interesting and successful, so there only seems to be room for one event devoted to power management a year. For this reason, it was decided that there wouldn't be a PM Mini Summit in 2011 and the LPC PM track would play the role of the Mini Summit. To this end, in addition to the plenary session within the track there will be a possibility to discuss specific problems related to power management in smaller groups.
The plenary session is scheduled on Thursday, September 8, 2011, at 4:45 PM. After my kick-start talk focusing mostly on the kernel PM development during the last 12 months, Len Brown from Intel will present the results of his idle power usage research comparing various flavors of Linux with other OSes in that respect (approximately at 5:15 PM) and Matthew Garrett from Red Hat will talk about an approach to power management attempting to optimize the power management of an entire system instead of focusing on individual devices (approximately at 5:45 PM). The session will end around 6:15 PM.
Discussion topics will include the problem of handling dependencies between devices that belong to different subsystems and bus types (suggested by Mark Brown), device PM QoS user space interface (suggested by Mark Brown and myself) and ideas for using device PM QoS along with PM domains. More topics welcome!
Additional discussion topic in cpuidle: Ideas for new callbacks into cpuidle framework to handle special idle state transitions like: (1) Most of the context is lost – goto idle using cpuidle framework and wakeup at reset and re-enter idle loop (2) Special condition that happen when all threads in a core or all threads in a chip enter deep idle – topology based callback hooks (suggested by Vaidyanathan Srinivsan)