Development lines of the Linux kernel The kernel hackers steadily continue to develop the Linux 2.6 kernel series, and they don't shy away from making extensive changes. Therefore, no 2.7 development branch that could eventually spawn a Linux version 2.8.0 or 3.0.0, in the same way that Linux 2.6.0 was created from the 2.5 development branch, is on the agenda in the foreseeable future; instead, the developers maintain several simultaneous kernel series for the various groups of users. In the main development line are the versions represented by three numbers separated by dots (2.6.x, for example 2.6.26). [...] Alongside the main development, the maintainers of the stable kernel series continue to develop the two respective latest versions of the main development line, identifying the revised versions by adding another number (2.6.x.y, for example 2.6.24.10 or 2.6.25.8). |
Longer and safer with Linux on the road
Range hrtimers reduce CPU power consumption, increasing battery life for notebooks. They allow the kernel to perform tasks, which can be run a few fractions of a second earlier or later, sometime within a specified time window. That makes it easier for the kernel to bundle several tasks and perform them in one fell swoop, lengthening the time in which the CPU operates in the power-saving sleep mode; that makes it possible to switch to yet deeper CPU sleep modes that save even more power – see also, LWN.net article on range hrtimers.
Some other changes to the CPUFreq framework, for instance, 1, 2, will reduce power consumption for idling CPUs even more. Also added to the official Linux kernel have been extensive improvements to the Vblank mechanism in DRI (Direct Rendering Infrastructure). With these changes, AMD and Intel graphics chips operating in 3D mode will only trigger interrupts when a program is waiting for a Vblank event, avoiding such visible effects as display flickering. Due to the lower number of interrupts, the system processor can stay in deep sleep longer, while there are no other processing requests – this lowers the power consumption of modern CPUs and prolongs the battery life of netbooks and notebooks.
Laptops with acceleration sensors can sense impending shocks and can now rapidly park their hard disks and keep them parked for a set time using a userspace application. The developers have implemented this support for "Disk Shock Protection" for both disk subsystems (Libata, Ide, documentation).IBM introduced such an "Active Protection System (APS)" years ago on Thinkpad notebooks running under Windows. This functionality can already be used under Linux to some extent, using some Thinkpad-specific drivers, or the precursors of the now integrated code. HO also has "HP Mobile Data Protection System 3D" and "HP 3D DriveGuard" and support for some of the sensors used with this have been added to 2.6.28 with an appropriate driver.
Since Intel released the ACPI Integrated Graphics Device OpRegion Specification under a Creative Commons Attribution licence several weeks ago, support for this technology has now been added to the kernel. In recent notebooks with Intel graphics chipset, the display brightness can now be adjusted via ACPI, and has been successfully tested by the developers on a Thinkpad T61 and a HP 2510p. The new code also improves the interception and forwarding of function key events for switching display outputs. A further update allows the driver to give preference to ACPI for controlling backlighting in notebook displays. Netbook and notebook drivers for Asus – 1, 2, Compal, Fujitsu, MSI, Sony and IBM/Lenovo now no longer control brightness if it can be handled by ACPI. These two mechanisms sometimes butted heads in the past. Among other manufacturer specific driver changes for notebooks, a driver for Panasonic laptops now allows the backlight to be controlled, hotkeys accessed and esoteric information like the number of installed batteries be obtained.
Secure and quick data with and without SSD
Libata can now report to the overlaying block layer whether a data storage device is an SSD (solid-state drive); using this information, the I/O schedulers CFQ or AS associated with the block layer can treat the data flow appropriately and, in the case of SSDs, no longer needs to take access times for the positioning of the read/write heads into consideration, as they have to do for hard disks. Using the new Discard function), file systems can now notify the block layer that specific areas (blocks) of the data medium are no longer in use – this is important for SSDs too, so that their wear-leveling unit knows which blocks are occupied.
On multi-core or multi-processor systems, IO CPU Affinity is intended to increase data throughput and reduce CPU loading. To achieve this, the block layer attempts to keep processing data using the processor on which the data request was made, since the data is often still available in the CPU cache. The block layer now also supports size changes of block devices at runtime and allows Xen guests access to more than 16 virtual block devices (xvd) via the blkfront driver. A number of small block layer patches by Libata developer Tejun Heo further removes the limitation of a maximum of 15 hard drive partitions on data media driven via Libata.
Next: Audio and video drivers, infrastructure changes under the hood