What's new in Linux 3.2
by Thorsten Leemhuis
Improvements to the Ext4 filesystem, network code optimisations and thin provisioning support in the Device Mapper are some of the major improvements in Linux 3.2. Further additions include new and improved drivers – for example, for graphics hardware by Intel and NVIDIA, as well as Wi-Fi components by Atheros and Broadcom.
After just over two months of development, Linus Torvalds has released version 3.2 of the Linux kernel. With this release, the kernel developers have regained their usual development speed after the intrusion at kernel.org delayed the completion of Linux 3.1 by a few weeks. As a consequence, the now-released kernel offers more changes than has recently been the norm, because the developers had more time to prepare improvements for inclusion into Linux 3.2.
From Linux 3.2 onwards, the DRM/KMS driver for Intel GPUs will enable the very efficient and Intel-specific RC6 graphics power-saving feature by default (1, 2). That change also enabled the Intel-specific technique on Intel's current "Sandy Bridge" by default; unfortunately, soon after the changes were made further problems were found with the "Sandy Bridge" implementation and the kernel developers have disabled "Sandy Bridge" support by default (1, 2) again. Since RC6 lowers the power consumption of many Sandy Bridge systems with Intel graphics by a few watts, it is especially interesting for notebooks as it can significantly extend the battery life. It can be activated on older kernels with the boot parameter
i915.i915_enable_rc6=1, but those versions lack fixes for some problems surrounding the use of RC6, which have been included in Linux 3.2.
The Nouveau driver now uses the acceleration functions that are available with the auto-generated firmware on the Fermi graphic cores NVC1 (GeForce GT 415M, 420, 420M, 425M, 430, 435M, 525M, 530, 540M, 550M and 555, as well as Quadro 600 and 1000M), NVC8 (GeForce GTX 560 Ti OEM, 570, 580 and 590 as well as Quadro 3000M, 4000M and 5010M) and NVCF (GeForce GTX 550 Ti and 560M) chips; Linux 3.2 will be the first kernel version to support the latter graphics chips.
This article provides an overview of the most important changes of Linux version 3.2. More detailed information can be found in the Kernel Logs of the "Coming in 3.2" mini-series, released over the past few weeks on The H Open, which form the basis of this article.
In these articles, you will find the more detailed source articles that cover the important changes in each particular area. There is also the "Minor gems" section in each which lists the many other changes not mentioned in the main article but which, for many users, are still of great significance.
In the slightly muddled situation involving two drivers for recent Broadcom Wi-Fi chips, the Brcmsmac and Brcmfmac Brcm80211 drivers developed by Broadcom itself have now won the race and moved from the staging area into the network subsystem. That also includes the Ath6kl Wi-Fi driver for Atheros' AR6003 chip. A earlier version of this driver was also in the staging area, which is the area for code that doesn't meet the developers', or the kernel hackers', quality requirements.
The kernel developers have extended the TCP stack of Linux 3.2 to provide "Proportional Rate Reduction" (PRR) support. Introduced by a Google employee and described in an IETF draft, this algorithm is designed to adapt transmission rates to the rates that can be processed by the recipient and by the routers along the way; especially after throttling the rate to prevent an imminent overload. The algorithm is designed to return to the maximum transfer rate faster than the previously used method and, according to the developer's measurements, the algorithm's faster transfer rates reduce HTTP response times by three to ten per cent.
The developers have added fixes (for example 1) to the still experimental Btrfs filesystem for problems that could lead to corruption in the event of crashes or power failures under certain conditions. If the root node, a key component of Btrfs, is damaged, the new "-o recovery" mount option can be used to instruct the filesystem to use an alternative root node.
The Ext4 filesystem now supports big allocation blocks (e.g. 1, 2, 3). The technique, known as bigalloc, bundles the 4K blocks used to store data into clusters of up to 1 MB. This reduces administrative overhead when saving large files and should significantly improve performance in some scenarios. A number of changes to the CIFS filesystem code for accessing Samba or Windows shares should significantly improve data throughput in certain situations (1, 2, 3).