Home > Uncategorized > Linux 3.5 now released

Linux 3.5 now released

After two months of development, Linus Torvalds and his fellow developers have completed and now released Linux 3.5. The Prime infrastructure and Uprobes are only two of several new features that will make a difference to home PC users as well as professional system administrators.

The announcement was made in a mailings list – https://lkml.org/lkml/2012/7/21/114.

Together with a new version of X Server, Linux 3.5 will offer improved hybrid graphics support. The new kernel supports “FireWire Target Disk Mode”, which is a familiar Mac feature, and performance monitoring components can now keep an eye on userspace software.


Various graphics drivers in the kernel now support the Prime framework. The framework is designed to improve the support of graphics hardware that can be added at runtime – such as DisplayLink monitors and the hybrid graphics technologies that can mainly be found in notebook computers. The X Server’s Prime support, which was recently integrated as a preview into X Server 1.13, is said to be based on the new kernel features; version 1.13 of X Server is due to be released in September. As a result, various distributions that are due out in the autumn will probably offer improved support for USB monitors and hybrid graphics solutions such as NVIDIA’s Optimus; the developers have further hybrid graphics improvements on their to-do list.

Changes in the way the Radeon graphics driver stores data in video memory mean that the driver in Linux 3.5 will now get better performance out of some R600 to R900 (Radeon HD 2400 to 7670) GPUs. Kernel developers have also significantly improved support for audio transport via HDMI on recent Radeon GPUs, so that most Northern Islands GPUs (many Radeon 6000 series models) are now supported.

The nouveau driver in 3.5 can utilise hardware acceleration on Kepler chips, which are to be found on many GeForce models in the latest 600 series. For the time being, this requires a firmware file which has to be extracted from the proprietary NVIDIA driver.

Kernel Log Penguin Performance Monitoring

After years of development, dozens of aborted attempts and some major restructuring, the code for uprobes (userspace probes) has finally been merged into the kernel (1, 2, 3, 4, 5 and others). This enables the kernel to insert breakpoints into code for userspace software at runtime, though currently it can only be used via the kernel’s perf events subsystem. It enables tracing software that makes use of it – such as kernel component perf and version 1.8 of systemtap – to add tracepoints to userspace software, and thus monitor the runtime behaviour of the kernel and programs at the same time.

Until now, perf could only observe processes within the kernel, while systemtap needed utrace, which never found its way into the official kernel, to monitor userspace software. Uprobes is itself derived from utrace, though they parted ways long ago. Instructions for using uprobes in practice can be found in the uprobes merge commit. Background information can be found in an article on LWN.net, which explains that the kernel, despite the new analytical options, doesn’t come close to offering the functionality required to create a tracing solution comparable to Solaris’s dtrace.

Architecture & Infrastructure

Linux 3.5 eliminates the cause of the latest leap second bug which affected many systems earlier this month. A major development by Eric W. Biederman, “User namespace enhancements” makes possible a cleaner separation of user and group IDs between host and container. As a result, users who have root privileges in a container no longer, for example, have full access to all files in the directories /proc/ and /sys/. This had previously allowed root users within a container to influence the behaviour of the host system.

The seccomp filters mechanism now enables programs to set up filters (using Berkeley Packet Filter syntax) that regulate which system calls that software started by this program can use (1, 2, 3, 4 and others). This could be useful for providing added security in the context of virtualisation or sandbox solutions, for example. One area of use is for browsers that need to execute untrusted code. The version of Chrome in Ubuntu 12.04 LTS uses seccomp to provide additional security for the Flash plugin. Further background information can be found in the documentation and on LWN.net.


The MD code can now reshape in RAID 10; as a result, the number of storage devices in such a RAID can now be modified. Together with the Linux-Iscsi.org (LIO) target infrastructure software, the new FireWire SBP-2 fabric module enables Linux 3.5 to export local storage devices via FireWire so that other systems can mount them as an ordinary FireWire storage device. Many Apple systems have offered such a “FireWire target disk mode” for some time.


The developers have made some changes to the still experimental Btrfs filesystem’s writeback handling; in the email for his main Git-Pull request for Linux 3.5, Chris Mason writes that the changes are designed to prevent latency spikes which occasionally occur when writing metadata. Ext4 can now add CRC32 checksums to many parts of its metadata and use them to reveal corruptions (1, 2, 3, 4, 5); this feature can, for now, only be used with a developer version of the E2fsprogs tools.


The network subsystem now includes the package schedulers “Codel” and “Fair Queue Codel AQM“; they are designed to help avoid the “buffer bloat” problem. A Google developer has added an “Early Retransmit” (ER) feature to the TCP stack that can accelerate connection recovery when packets are lost, as similarly described in RFC 5827.

The teaming driver that was integrated in Linux 3.3 now offers a load balancing feature. The R8169 driver for Gigabit Ethernet chips by Realtek can now communicate with the RTL8402 and RTL8411 chips. The E1000e driver has been extended to support the i217 PHY, which is said to work with Intel’s Lynx Point Platform Controller Hub (PCH); these are supposed to work together with Intel’s Haswell processors, scheduled for 2013.


Linux 3.5 now supports Asus’s Xonar DGX sound card. The HD-audio driver now supports the Creative SoundCore3D function. Several changes have been made in the platform driver for Sony laptops to improve support for newer Sony devices. These changes will, for example, allow the driver to activate the keyboard backlight on Vaio SA/SB/SC and CA/CB models. Drivers for the Management Engine Interface (MEI) used on many Intel motherboard chipsets have successfully exited the staging tree.

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 LWN.net, 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 Kernel.org 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 \
  http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.tar.sign \
[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 <torvalds@linux-foundation.org>"
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 Identi.ca and Twitter by @kernellog2. The Kernel Log author also posts updates about various topics on Identi.ca and Twitter as @kernellogauthor.

(source: http://www.h-online.com/open/features/What-s-new-in-Linux-3-5-1637461.html)

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s