Main development phase of Linux 3.7 completed
Linus Torvalds has issued the first release candidate of Linux 3.7. With this release, Torvalds has, as usual, closed the development cycle's "merge window", the phase in which the majority of a new version's important new features are added to the main development branch. Until the final release of Linux 3.7, which is expected to arrive in December, the developers will now focus on bug fixes, discounting a few potential stragglers as well as smaller, harmless improvements.
Among the most important new features in Linux 3.7 is the addition of support for the 64-bit ARM instruction set. NAT (Network Address Translation) features for IPv6 and the server-side code for "TCP Fast Open" (TFO) are also new; the client-side code for this experimental TCP extension which is designed to speed up HTTP connections was added in Linux 3.6.
Torvalds has also integrated a major overhaul of the Nouveau DRM graphics driver for PC graphics chips from NVIDIA, which had been in preparation for some time. Among other things, the revision aims to simplify the driver architecture to facilitate the implementation of new features, for example, support for NVIDIA's Scalable Link Interface (SLI) graphics chip coupling technology. Additionally, the developers reworked large parts of the code for configuring display outputs in Intel's i915 graphics driver.
The CIFS (Common Internet File System) system that provides the kernel access to Windows and Samba shares now offers experimental support for SMB 2.0 (Server Message Block 2), which was introduced with Windows Vista, and for its SMB 2.1 descendant for Windows 7; although parts of this code were integrated into the kernel several months ago, they were not functional and therefore were marked as "broken". The kernel developers have started to restructure the header files to keep the userland headers in the
include/uapi/ directory separate from those that are required internally by the kernel. Other new additions include support for Intel's SMAP (Supervisor Mode Access Prevention) processor security feature and support for building an ARM kernel that will boot on a different ARM platforms. Together with a developer version of the Xen hypervisor, virtual machines can now be run using the virtualisation features that are available with some ARM v7 cores.
Just before the merge window was closed, the developers added code for signing kernel modules and verifying these signatures before modules are loaded – this is a feature that some distributions plan to use in connection with their UEFI Secure Boot support.
In the two weeks since the release of Linux 3.6, the kernel developers have processed 10,409 commits in the main development branch, modifying 15,096 files. According to the diffstat, the changes for Linux 3.7 have introduced 1,540,443 new lines of code and removed 1,223,134 – relocated code is included in both figures. Each of the two figures surpass those of Linux 3.6 by about a million, which is mainly due to the numerous restructuring projects such as the overhaul of the Nouveau driver and the include files.
The developers of the stable and long-term kernels have also been active in the past few days. Greg Kroah-Hartman has released Linux versions 3.0.46, 3.4.14, 3.5.7 and 3.6.2; in the release email for Linux 3.5.7, Kroah-Hartman points out that this version concludes the support of Linux 3.5 and no further updates for this branch will be released. Ben Hutchings has released Linux 3.2.31 and is currently preparing 3.2.32. Almost a week ago, Willy Tarreau released Linux 220.127.116.11 to fix this year's leap second bug and to add various improvements to the random data generator that were integrated in Linux 3.6.