What's new in Linux 3.0
by Thorsten Leemhuis
The transition to the Linux kernel's 'third decade' sees numerous changes to the Btrfs filesystem. The kernel now includes all the major components needed to host guest systems under Xen and includes many new and revised drivers.
Linus Torvalds and his collaborators have taken just two months to complete the latest kernel. The most notable change, however, is cosmetic rather than technical – the transition from version 2.6.39 to 3.0. This not been taken as a cue to insert major changes, however, and the new kernel is in fact a perfectly normal version increment, following the pattern set for the 2.6 series.
New features in Linux 3.0 include the addition of a storage backend for Xen, which means that the kernel now contains all the major components required to run as Dom0 – the merger of Xen support appeared tantalisingly close six years ago, but it has taken until now for it to actually happen. There have also been a number of changes to the Btrfs filesystem and to graphics drivers. Kernel developers have as ever also added several new drivers and have improved many existing drivers.
This article will provide a brief description of the new Linux version's most important improvements. Many of these improvements affect not only servers but also notebooks and desktop PCs. The distribution kernels will bring the improvements to the majority of Linux systems in the short or medium term, as these kernels are based on the kernels released by Linus Torvalds.
This article provides an overview of the most important changes of Linux version 3.0. More detailed information can be found in the Kernel Logs of the "Coming in 3.0" 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
- Part 3: Architecture, infrastructure and virtualisation
- 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 which lists the many other changes not mentioned in the main article but which, for many users, are still of great significance.
For example, in the article on Drivers, "Minor gems" lists the numerous patches to support the video hardware on different PCs, notebooks and motherboards, and lists the changes to the V4L/DVB subsystem, which includes the addition of product names for TV hardware that the Linux kernel now recognises.
A great leap
Incrementing the main version number and the introduction of a completely new numbering system have both been discussed in the past, but the transition to 3.0, when it came, came somewhat out of the blue. Last year, it looked as if kernel developers wanted to hit at least version 2.6.42 before moving to 3.0. In the second half of May, one week after releasing Linux 2.6.39, Torvalds unexpectedly mooted the idea of moving to version 2.8, because "the numbers are getting too big". The discussion which ensued on LKML quickly threw up the idea of moving to 3.0 – the '3' is a nod to Linux entering its third decade, with the OS due to celebrate its 20th birthday shortly.
The actual decision to make the transition and shorten the version number to two, rather than three, sets of digits was taken by Torvalds a few days later, on releasing the first pre-release version of the newly released kernel. He appears to have taken the decision alone, as his position as the alpha male of Linux development enables him to do. In the release email for Linux 3.0-rc1, Torvalds was at pains to make clear that it really was to be just a new numbering system, and would not contain any major changes. He had previously rejected calls to use the version number change as an opportunity to ditch legacy items such as MCA, EISA and ISA support.
The new numbering system does, however, have some significance for users, as it messes up a number of applications, including system-related programs such as cryptsetup, device-mapper, LVM2, mdadm, module-init-tools and procps. To avoid problems, these applications should be updated when upgrading to kernel 3.0 or later. Some of these programs only activate mechanisms for working with recent kernels when the version number starts with 2.6, others assume that the version number contains three sets of digits. Torvalds has not held back in criticising this approach. To get around at least some manifestations of this problem, Linux 3.0 will identify itself as 3.0.0, and indeed it is likely that the next version will also add an extra '.0'. Sooner or later, however, this might be dropped. The next kernel version after 3.0 will be version 3.1. The third digit will replace the fourth in designating stable and long term kernels.