In association with heise online

Summing up 3.7

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.

Kernel Log penguin 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

Files1 Source lines2 Days Commits3 Changes4
2.6.38 35864 14208866
69 9542 9133 files changed,
747809 insertions(+),
455603 deletions(-)
2.6.39 36705 14533582
65 10268 10985 files changed,
847537 insertions(+),
523387 deletions(-)
3.0 36781 14646952
64 9153 7946 files changed,
555406 insertions(+),
442033 deletions(-)
3.1 37084 14770469
94 8692 9181 files changed,
728892 insertions(+),
604658 deletions(-)
3.2 37617 14998651
73 11881 12608 files changed,
1646421 insertions(+),
1418238 deletions(-)
3.3 38082 15166074
74 10550 10698 files changed,
599745 insertions(+),
432324 deletions(-)
3.4 38566 15383860
63 10899 11086 files changed,
576156 insertions(+),
385369 deletions(-)
3.5 39096 15596378
62 10957 9631 files changed,
623277 insertions(+),
410757 deletions(-)

39733 15868036
71 10247 8296 files changed,
255597 deletions(-)
3.7 40905 16191690
71 11990 15886 files changed,
1567749 insertions(+),
1244085 deletions(-)
¹ 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 new Linux kernel can be downloaded from and soon should become available from the worldwide network of servers that mirror the web site.

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 <>"
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 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 and Twitter via "@kernellogauthor".

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit