In association with heise online

Summing up 3.5

Kernel version 3.5 offers improvements in three functional areas of Linux that have long exhibited major deficits. With the existence of Optimus notebooks and USB monitors, a clean basic kernel infrastructure to support graphics hardware that can be activated at runtime was more than overdue. Another important addition is the security improvements for containers, a milestone that could potentially help Linux Containers (LXC) gain importance in the medium term. Also overdue were features to improve the performance monitoring of userspace software – although Uprobes in its current form still leaves much to be desired, it could form the basis for features that will at some point allow Linux distributions to offer a tracing functionality similar to that of Dtrace in Solaris.

Kernel trends: Outlook on 3.6

Directly following the release of Linux 3.5, 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.

Among the components that are ready to be integrated is one which enables the kernel to put PCIe devices into the D3Cold deep sleep state – this is the deepest sleep state of PCIe components during which a PCIe connection's main pathways are powered down completely. Another planned addition is a driver for Realtek's series RT3290 Wi-Fi components.

The code for IOMMU Groups, and the VFIO (Virtual Function I/O) feature that is based on it, could also become available with Linux 3.6. VFIO combines functions offered by UIO (Userspace I/O) with those from the current KVM device pass-through code. It uses I/O virtualisation technologies such as AMD-Vi or Intel's VT-d to give userspace programs direct access to system devices. This is designed to allow hardware to be used from userspace with low latency and high data throughput rates. The IOMMU (Input/Output Memory Management Unit) ensures that memory areas that have nothing to do with the device that is being used via VFIO are not accessible via DMA (Direct Memory Access).

The technology is not part of any general plan to move Linux drivers into the userspace though; it is mainly intended for virtualisation so that a host's individual devices can be passed through to the guests, and the guests can then use these devices with less overhead than before. More background information is available in an article on, in the slidesPDF of a LinuxTag presentation entitled "Userspace I/O and Other Recent IOMMU Developments in the Linux Kernel" by IOMMU maintainer Jörg Rödel, and in the slides of a presentation given by the VFIO developerPDF at last year's Linux Plumbers Conference (LPC).

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.5.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.5. 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.6" mini-series. A release of 3.6 in late September seems likely at this point in time. A detailed summary of the major changes in 3.6 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(-)
¹ 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.5 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 using the search function at The H Open Source. Information about previous Linux kernel releases can be found in The H's Linux Kernel History. New editions of Kernel Logs are also mentioned on and Twitter by @kernellog2. The Kernel Log author also posts updates about various topics on and Twitter as @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