What's new in Linux 3.3
by Thorsten Leemhuis
Linux 3.3 fixes problems that resulted in freezes when writing to slow disks. Hot replace support for software RAIDs removes the element of risk when hot swapping disks in RAID arrays. The network subsystem now includes teaming support, a virtual switch and infrastructure for avoiding "bufferbloat".
After slightly more than ten weeks after the release of Linux 3.2, Linus Torvalds has released Linux 3.3. The scope of changes in the new kernel version, earmarked for use in Fedora 16 and Fedora 17 along with other distributions, is still much as it ever is, with some changes more relevant to administrators running large data centres, others more likely to interest users running Linux on a desktop or laptop.
This article provides an overview of the most important changes of Linux version 3.3. More detailed information can be found in the Kernel Logs of the "Coming in 3.3" mini-series, released over the past few weeks on The H Open, which form the basis of this article.
- Part 1 – Networking
- Part 2 – Filesystems and storage
- Part 3 – Architecture and infrastructure
- Part 4 – Drivers
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.
The Intel graphics driver in Linux 3.3 has been modified to avoid the deepest sleep state offered by Intel's RC6 GPU power saving feature. As a result, this feature should finally work reliably with the graphics cores used in Intel's current Sandy Bridge generation of processors, where it saves between 3 and 5 watts when idling. Nevertheless, RC6 remains deactivated by default on Sandy Bridge CPUs in Linux 3.3, and needs to be activated manually using the kernel argument
From 3.3, the nouveau DRM/KMS driver for NVIDIA graphics chips will support audio output via HDMI on NVA3 (aka GT215) and later graphics chips (1, 2, 3, 4). These are used on graphics cards such as the GeForce GT 240, 320 and 335M and their successors. The nouveau driver in Linux 3.3 now supports the GPU code-named NVD9, which is used on cards including the GeForce GT 520, 520M, 520MX and GeForce 410M.
The Radeon DRM/KMS driver for AMD graphics chips now supports HDMI audio output on Evergreen chips, frequently, but not always, found on Radeon HD 5000 series GPUs; the code was developed with the help of reverse engineering and it remains to be seen how well it works in the field. The DRM/KMS graphics driver for Intel's GMA500, GMA600 and GMA3600 graphics cores, developed by Intel employee and kernel veteran Alan Cox, has been merged into the DRM subsystem (1, 2, 3, 4, 5 and others). The driver had previously spent some months in the staging area, the repository for code still needing a bit of work. The driver supports the graphics core in Intel's US15W embedded chipset, which is also known as Poulsbo.
The kernel developers have added an Ethernet teaming driver that combines multiple Ethernet devices into one virtual device (link aggregation/802.1AX). Similar to the existing bonding driver, this virtual network device can use a round-robin technique to share network load across multiple ports; alternatively, a designated "active backup" port can take over if there are problems with the primary network connection.
Linux 3.3 includes the kernel components that are required for the Open vSwitch. This multi-layer virtual switch can operate on layers 2, 3 or 4 and was specially developed for virtualisation environments. "Dynamic Queue Limits" and "Byte Queue Limits" allow the kernel to control how much data can accumulate in a send queue. The aim of these is to reduce the "bufferbloat" problem that was mentioned in a previous Kernel Log and is caused by excessive data buffering in networking hardware.
The kernel now includes a driver for NVMe – NVM (Non-Volatile Memory) Express (1, 2 and others). This is a standard interface defined a year ago for access to SSDs connected via PCI or PCIe; SATA Express, designated successor of SATA 6G, reportedly will also use concepts from NVMe. The MD code responsible for software RAIDs gained functions (1, 2 and others) to copy data currently on one storage device to another so that the first can later be removed. This "hot replace" reduces the danger of losing data when changing disks that are part of the RAID, since it avoids the rebuild (which creates a new version of the redundant data on the new data volume) that has previously been necessary for such an exchange.