Changes to the system's graphics and audio drivers may not appear to offer great improvements, but they have take more steps to improve the Linux user experience on home and multimedia PCs. The added Btrfs optimisations, SMB2 support and NAT for IPv6 will likely appeal to many private and professional administrators; and TCP Fast Open has the potential to enable a more agile internet browsing experience. However, the most important changes are the new multi-platform support for 32-bit ARM platforms and the added ARM64 support, as both these features will affect the operating systems on the devices that we will carry around in our pockets and use on our desks in the coming years.
Kernel trends: Outlook on 3.8
Directly following the release of Linux 3.7, the first, usually two-week long merge window of the Linux kernel development cycle commences, during which the kernel developers incorporate the many changes for the next version of the kernel into the main development branch. Numerous changes have already been prepared for this first phase of the next development cycle.
Among the changes that have been submitted for inclusion is the kmem extension for the cgroup memory controller, which can limit the amount of memory that the kernel allocates for process handling. Suitably configured limits allow the kernel to rein in "fork bombs" that are executed via the shell; users without root access can currently cripple Linux systems with the loads that are generated by rapidly spawning many processes. Further details about the kmem extension can be found in the patch description and in the documentation.
The kernel developers are also working to remove the CONFIG_EXPERIMENTAL configuration option. This option must currently be selected to allow kernel features classified as experimental to be activated. Numerous features continue to be classified this way although they are in daily use and have been tried and tested on modern Linux systems; even the distribution kernels almost always include active experimental features. According to the accompanying notes, the option consequently "hasn't carried much meaning for a while". The CONFIG_EXPERIMENTAL dependency of some features has already been removed in Linux 3.7; the large majority will likely follow in 3.8. Truly experimental features are to be identified in a different way, for example by including "(EXPERIMENTAL)" in the description.
The developers are also discussing the inclusion of various features that allow the kernel to keep processes and the memory areas they use together in NUMA (Non-Uniform Memory Access) multi-processor systems. This should allow applications to run more efficiently, as processes will be using memory that is handled by the respective processor's memory controller; this avoids delays that are caused by the inter-processor communication that occurs when RAM is used that is handled by a different processor. With AutoNuma and "sched/numa", the developers have been working on two different automated placement approaches for several months. The supporters of each solution have conducted sometimes heated arguments on public mailing lists. Other developers have become involved, which has resulted in the identification of certain basic functions that are required by these automation features and that were similar or identical in both approaches. These are being considered for inclusion in one of the next kernel versions as a basis for finding the best approach to provide automated process placement through the kernel.
As usual, the Kernel Log will summarise these and other developments in the Linux kernel field – including new point releases of the stable kernel series (3.7.y), which should, over the next few weeks, fix a few bugs that testers missed during development or which hackers could not fix in time for the release of Linux 3.7. The Kernel Log in The H Open will, as usual, be reporting on the major changes integrated into the next kernel version in a "Coming in 3.8" mini-series. A release of 3.8 in the second half of February seems likely at this point in time. A detailed summary of the major changes in 3.8 will then be published on The H Open in a Kernel Log like this one.
Facts and figures for the latest versions of the Linux kernel
9133 files changed,
10985 files changed,
7946 files changed,
9181 files changed,
12608 files changed,
10698 files changed,
11086 files changed,
9631 files changed,
8296 files changed,
15886 files changed,
¹ find . -type f -not -regex '\./\.git/.*' | wc -l
² find . -type f -not -regex '\./\.git.*' | xargs cat | wc -l (find . -name *.[hcS] -not -regex '\./\.git.*' | xargs cat | wc -l)
³ git-log --no-merges --pretty=oneline v3.(x-1)..v3.(x) | wc -l
⁴ git diff --shortstat v3.(x-1)..v3.(x)
Linux 3.7 download
The source code is offered as tar archive compressed with Gzip, Bzip2, or XZ. The authenticity of the uncompressed tarball can be verified with a signature file that is shipped alongside it – for example, the process for Linux 3.1 would be performed with commands such as these:
[thl@thl tmp]$ wget --quiet \
[thl@thl tmp]$ xz -d linux-3.1.tar.xz
[thl@thl tmp]$ gpg --verify linux-3.1.tar.sign
gpg: Signature made Mon Oct 24 09:17:58 2011 CEST using RSA key ID 00411886
gpg: Good signature from "Linus Torvalds <email@example.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886
Further background information about the developments in the Linux kernel area can be found in the archives or by using by using the search function at The H Open Source. New editions of Kernel Logs are also mentioned on Identi.ca and Twitter via "@kernellog2". The Kernel Log author also posts updates about various topics which eventually tend to find their way into the Kernel Log on Identi.ca and Twitter via "@kernellogauthor".