In association with heise online

31 January 2009, 15:01

Kernel Log: What's new in 2.6.29 - Part 4: ACPI, PCI, PM – notebooks and power saving improvements

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

Following a one-week pause due to the LCA 2009, Linus Torvalds restarted the integration of patches into the development branch a few days ago, and has now released the third pre-release version of 2.6.29. In his release email, Torvalds points out a few changes made to improve the reliability of the system: suspend modes – changes that allow one of his notebooks to wake up reliably from power-saving mode. Our "What's new in 2.6.29" Kernel Log takes this opportunity to discuss the changes that concern ACPI, PCI, power management and the corresponding notebook drivers expected for 2.6.29.


The changes to the handling of the suspend and resume modes, mentioned by Torvalds and mainly developed by Rafael J. Wysocki, weren't integrated in one go, but found their way into the kernel (1, 2) gradually via the maintainers of the ACPI and PCI subsystems. Most of the relevant commits are comparatively small and seem rather inconspicuous at first glance (for example 1, 2, 3, 4).

These changes, which have been in preparation for a long time, are to allow the kernel to reliably re-initialise the system's PCI(e) hardware when waking up from suspend mode. According to Torvalds, suspend and resume have worked on many systems, but haven't always been reliable due to interrupt timings, especially with shared interrupts ("We have historically been in a situation where suspend/resume often works, but may not be reliable due to interrupt timings, especially if there are any shared interrupts going on between drivers."). As these difficulties now seem resolved, Torvalds has called on users to report drivers that cause problems with suspend/resume. In addition, testers are to evaluate whether systems, whose system sleep states co-operate with previous kernels, work at least as well with the pre-release versions of 2.6.29 as they did before ("...we'll really need user feedback on any drivers that now don't suspend/resume cleanly. So please, people - especially if you use suspend/resume, we want to hear about regressions,...").

Manual throttling disabled

In their blogs and elsewhere, the kernel developers Matthew Garrett and Dave Jones have repeatedly described that the throttling of modern CPUs prevents overheating, but doesn't, as many people assume, lower the clock speed or reduce power consumption. They say that on the contrary, the overall power consumption for a calculation even increases, because the CPU can't switch to power saving mode, and because the system, with all its components that continuously consuming power, will take longer to compute the result.

To illustrate this to users, the two developers have removed the sysfs interface of the p4-clockmod driver; while the driver can still protect systems from overheating, it can no longer be used for manually slowing down the CPU. The comment in the commit and an entry in Dave Jones' blog also explain the reasons for this measure; additional reasons can be found in the blog entry's comments, where the developer defends the measure and further discusses the myths about throttling.

In addition, the kernel developers have modified some of the PCI configuration information displayed during booting to give it more coherence and clarity (1, 2). There are numerous major changes to the ACPI code, for example, the restructuring of the include files (1, 2) and the relocation of the ACPI component architecture (ACPICA) to a directory of its own.

New notebook drivers

The maintainer of the ACPI subsystem has relocated the largely vendor-specific drivers for notebooks by Acer, Asus, IBM/Lenovo, MSI and others from drivers/misc/ to drivers/platform/x86/, which may result in a need to reactivate them when configuring 2.6.29 with a configuration file from a previous kernel (1, 2). The i8k driver for Dell notebooks now supports the Vostro and Precision series; a new addition is the dell-laptop driver, which supports brightness adjustments and WiFi/Bluetooth switch suppport via dcdbas (Dell Systems Management Base Driver). The developers extended the fujitsu-laptop driver for notebooks by Fujitsu-Siemens to include several new features. They also made numerous improvements to the driver for Thinkpads by IBM and Lenovo – find these and a selection of further important changes in the areas of ACPI, PCI, and power management in these sections:





Power Management/Hibernate:

Further background and information about developments in the Linux kernel and its environment can also be found in previous issues of the kernel log at heise open:

Older Kernel logs can be found in the archives or by using the search function at heise open. (thl/c't)



  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit