Linux 3.0 has been released, featuring a storage backend for Xen virtualization and an antifrag and data-scrubbing features for the Btrfs filesystem. Meanwhile, Thomas Gleixner released a major new, real-time Linux patch that will ready Linux 3.0 for highly-deterministic applications.
Timed for release in conjunction with the 20th anniversary of Linux — which will be celebrated Aug 17-19 at the Linux Foundation’s LinuxCon event in Vancouver, BC — Linux 3.0 is just another Linux kernel update, according to Linux creator and gatekeeper Linus Torvalds. Back in May, he warned not to expect too much from the birthday release when he announced the major numbering shift, the first second-digit jump since Linux 2.6 arrived back in 2003.
“There are no special landmark features or incompatibilities related to the version number change,” writes Torvalds (pictured) in a blog posting announcing the release. “It’s simply a way to drop an inconvenient numbering system in honor of twenty years of Linux,” writes Torvalds.
The next release will be Linux 3.1, whose release data may wind up being determined by Torvalds’ vacation schedule, he explained. Torvalds, whose main job is to decide which updated code is ready to roll into each Linux kernel release, already had his vacation delayed by a last-minute bug that delayed Linux 3.0 by several days.
In what other major software project does the head honcho’s vacation plans change the release schedule? Well, perhaps more often than one would think, but only in the wonderful Oz-like open source reality of Linux does the wizard cop to it. You gotta love it.
Depending on one’s perspective, beyond the numbering change Linux 3.0 will be remembered either for the improvements to the Btrfs file-system, or for the new storage backend for the Xen hypervisor. If you’re a real-time Linux industrial developer, meanwhile, the big news occurred outside the mainline kernel earlier this week with a major new real-time Linux patch for Linux 3.0 from Thomas Gleixner (see farther below).
Btrfs fights fragmentation
Btrfs, which debuted in the Linux kernel in a preliminary version in the early 2009 Linux 2.6.29 release, has been steadily improved in subsequent releases including Linux 2.6.31 and 2.6.32. Btrfs is touted for offering better fault tolerance and offering easier administration than the Ext file-systems, among other benefits.
The first Btrfs enhancement is found in new anti-fragmentation code. Because Btrfs is a COW (copy-on-write) filesystem, it is plagued by even more data fragmentation problems than other filesystems, explains Kernelnewbiews.org, which offers its usual semi-official changelog for kernel releases. Btrfs already has several mechanisms for fighting fragmentation, but now offers an autofragmentation mounting option as well as an option to turn off COW to reduce fragmentation, according to the overview.
Btrfs also gains a “scrubbing” feature to check the integrity of the data in the filesystem. As Thorsten Leemhuis explains it in his detailed kernel write-up on The H, the feature lets developers “instruct the kernel to read all data from the storage medium and run through all the checksums to ensure data integrity.” Among other enhancements, Btrfs is said to boost performance by about 15 per cent when creating files, and by about 20 per cent during deletions.
Other Linux filesystems have also been spruced up in various ways. The now mainstream Ext4, for example, gains a “punch hole” function that identifies areas that lack data so it can de-allocate them. This is said to be particular useful in virtualization environments.
Xen adds storage backend
Thanks to contributions from Xen.org, the Xen virtualization system offers the long-awaited full initial domain (“dom0 “) support, essentially enabling a storage backend for Xen. As a result, explains Leemhuis, Linux “has finally acquired all the essential components for hosting guest systems as a Dom0 together with the Xen hypervisor.” He notes, however, that this is a “cut-down” version of Dom0 support and lacks extras found in commercial Xen products like Xen Server, such as suspend-to-RAM and enhanced USB support.
Here’s a brief rundown of other features listed as “prominent” in the Kernelnewbies.org changelog:
Sendmmsg() — syscall batching for send messages, said to offer speed improvements in light virtualization systems
Cleancache — optional feature for improving page cache performance, said to be aimed primarily at virtualization environments
Berkeley Packet Filter — just-in-time, memcached-like filtering technique, similar to FreeBSD feature, that can generate native code when filter is loaded in memory. (Writes Leemhuis: “It generates assembler code at runtime that carries out some of the network packet filtering tasks set by sniffer tools.”)
Wake on WLAN — similar to Wake-on-LAN, enables system to nap while Wi-Fi stays active
unprivileged ICMP_ECHO messages — MAC OS X-like technique for pinging without special privileges, now offered as default, enabled at boot-up
Setns() syscall — improved namespace handling for resources like filesystem directory structure, network resources, and IPC
alarm-timers — improved, hybrid-style POSIX timers “inspired by the Android Alarm driver” and other high-resolution timers
driver enhancements — Drivers include Radeon DRM/KMS driver with support for AMD Llano graphics cores, and a i915-DRM/KMS driver for graphics in upcoming Intel “Ivy Bridge” Core processors. Other drivers include the Microsoft Kinect, Intel iwlwifi 105 and 135, Intel C600 serial-attached-scsi controller, Ralink RT5370 USB, several Realtek RTL81xx devices, and the Apple iSight webcam.
BeagleBoard users who want to check out the new Linux 3.0 kernel can download it here.
Gleixner releases real-time patch for Linux 3.0
If you’re in the real-time Linux community, looking to make embedded Linux on par with real-time operating systems (RTOSes) as a platform for highly deterministic, mission-critical applications, the big Linux 3.0 news was announced two days ago. That was when real-time Linux (RTL) project leader Thomas Gleixner (pictured) announced a major update of the PREEMPT_RT patch designed for the new 3.0 release.
This “long awaited” patch “is a major milestone of integrating it into mainline,” writes Carsten Emde at OSADL (Open Source Automation Development Lab). PREEMPT_RT provides guarantees for hard timing deadlines, as required by many mission-critical applications in industries like telecom, military, healthcare, music recording, and financial trading.
OSADL, which coordinates the development of open source projects in the areas of embedded and industrial design, including real-time and safety-critical Linux, has benchmarked the new patch and found it to offer very low latency. The latest patch, which Emde calls “a major milestone of integrating it into mainline” Linux kernel, is said to be much smaller in size, in part due to upstreaming infrastructure patches. Other enhancements are said to include solving the “preemptible MMU gather problem” as well as various scheduler improvements.
Since its merger with the Real-Time Linux Foundation (RTLF), OSADL has regularly released “Latest Stable” industrial real-time Linux kernels based on the PREEMPT_RT patch series. In February, 2010, OSADL released Kernel 22.214.171.124-rt21, based on Linux 2.6.31, and in December, OSADL released Kernel 126.96.36.199.2-rt30, based on Linux 2.6.33. With the new patch, the RTL developers have finally caught up with the mainline kernel release.