What's new in Linux 3.6
by Thorsten Leemhuis
The new kernel offers a hybrid standby feature, can cut off the power to PCIe chips and includes a new framework for userspace drivers. Other new features include security improvements for the temp directory as well as quota and backup features for Btrfs.
It took ten weeks for Linus Torvalds and his fellow developers to complete the now released Linux version 3.6. The new version, named "Terrified Chipmunk", offers a whole range of new features both for home users and professional system administrators.
This article provides an overview of the most important changes in Linux version 3.6. More detailed information can be found in the Kernel Logs of the "Coming in 3.6" mini-series, released over the past few weeks on The H Open, which form the basis of this article.
- Part 1 – Filesystems and storage
- Part 2 – Networking
- Part 3 – Architecture
- Part 4 – Drivers
- Part 5 – Infrastructure
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 new "Suspend to Both" feature will give Linux 3.6 hybrid standby capability. Mac OS X and Windows have offered such a feature for some time; it involves having the computer store its memory contents both in RAM and on the system disk during hibernation. A system that hibernates this way will usually wake up within a few seconds as if waking up from Suspend-to-RAM (ACPI S3); however, if power was disrupted during hibernation, for instance because a notebook ran out of battery, the system will restore the main memory contents from disk as it would after Suspend-to-Disk (Hibernate). In a short test on a slightly older system with a 250GB hard disk, Suspend-to-Both worked as intended; it required about 16 seconds to go to sleep – four times as long as with Suspend-to-RAM and about as long as is needed for Suspend-to-Disk.
The still experimental Btrfs filesystem now supports quotas for subvolumes (separate areas within the filesystem), setting out how much space they are permitted to occupy (1, 2 and others). A further new feature in Btrfs is "send/receive" (1 and others). This enables userspace programs to determine the difference between two snapshots, to save these differences to a file and to restore these backups as required. This is particularly useful for incremental, atomic backups. A more detailed explanation of this function, which is also available in ZFS, can be found in this LWN.net article.
One of the new functions implemented in Linux 3.6 is based on an idea that dates back to 1996 – the kernel can now be configured to not follow hardlinks and softlinks in directories with a set "sticky" bit (such as /tmp/), when those links point somewhere higher up the directory tree. As LWN.net explains in this article, this feature, which can be activated via sysctl, puts a stop to a common trick used by attackers to escalate their privileges by using background services running as root.
A new interface allows userspace programs to notify the kernel when the size of a partition they are using changes, allowing the kernel to become aware of changes to the size of mounted or other partitions at runtime and to act accordingly. The program resizepart, which will make use of this new interface, has been included in the recently released second pre-release version of util-linux 2.22-rc2.
Changes to the software RAID code in the MD subsystem should improve the performance of RAID arrays in which one or all of the storage devices are SSDs. The kernel developers merged the fabric driver tcm_vhost, which is classified as staging, but is not living in the staging tree of the kernel. It allows SCSI devices on a host system to be used with minimum overhead by guest systems virtualised using KVM.