January 5, 2011

What's New in Linux 2.6.37

The holidays are over, but there's one more gift to unwrap — a brand new stable kernel. Linus Torvalds announced the 2.6.37 kernel on Tuesday, with quite a few improvements and new features — and a few things removed as well.

What's been removed? That's the Big Kernel Lock (BKL) that's been around since the Linux 2.0 days. Well, it's sort of removed — 2.6.37 can be built without the BKL, though it's still in the code and being phased out. According to the Kernel Newbies page this won't have a major performance impact, but it does help clear the way for a BKL-free kernel.

Filesystem Improvements

The 2.6.37 kernel has a number of improvements related to filesystems. You'd think that people used Linux to store a lot of data or something...

The big two are Ext4 and XFS, which have received scalability improvements. One benchmark shows a "100% improvement" on a test working with 50 million files on an 8-CPU system. Ted Ts'o has benchmarked some serious improvements in Ext4 which bring it closer in performance to XFS.

This release also brings support for I/O throttling using cgroups. This means it's possible to put limits on how fast processes can read or write to disk. Since disk bandwidth is often a bottleneck for systems, this can be a nice feature for anyone who wants to give priority to a set of processes.

Linux supports a lot of filesystems, of course, including one many folks haven't heard of called Ceph. Ceph is a distributed filesystem to provide "petabyte scale storage." One thing it does is provides S3-compatible storage, so if developers are writing an application to work with Amazon S3 they can target Ceph to test — or simply host their data themselves. In 2.6.37, the Ceph folks have merged Rados Block Device support. This allows users to create a block device that's stored on a Ceph distributed object store. See the Ceph wiki for all the details.

New Drivers and Xen

Every new kernel includes new drivers, but this release includes a few that many users have been waiting for. In particular, 2.6.37 comes with a stub driver for Intel's GMA500 (Poulsbo) driver and incorporates the Broadcom drivers that were released as open source a few months ago. This means that users with Broadcom chipsets can look forward to open source drivers for their wireless cards as part of the mainstream kernel. The GMA500 stub doesn't provide full functionality for users with the Intel GMA500 chipset, but it does provide a starting point for an open source driver.

Those are just the headlines, though: The 2.6.37 kernel includes a bunch of new drivers and improvements to existing drivers from storage to Webcams. See the Kernel Newbies page for the full list of new goodies.

As reported on the H, this also pulls in initial support for Xen as a Dom0, or "domain zero." This means Linux is a bit closer to having Xen host support in the mainline kernel — though it's not yet complete.

Have a Apple Magic Trackpad? Support for the trackpad has been added to the existing support for the Apple Magic Mouse. This might mean some fun multitouch goodness appearing soon on a Linux desktop near you.

Summary

The full changelog is found on kernel.org, and makes for nice light reading. 2.6.37 will be turning up in the Spring crop of Linux distributions — it's slated for Ubuntu 11.04, Fedora 15, and openSUSE 11.4.

Click Here!