While much of the world's focus was on the Consumer Electronics Show Wednesday, Linux creator Linus Torvalds quietly released the next version of the Linux kernel.
Included among the improvements in Linux 2.6.37 are better symmetric multiprocessing (SMP) scalability, an option to compile the kernel with the Big Kernel Lock disabled, improved security, and many new drivers for better hardware support.
The new release is an update to Linux 2.6.36, which was released in October. Since it will soon be making its way into many popular Linux distributions, here's a look at some of the latest version's most notable features.
No More Big Kernel Lock
The Big Kernel Lock dates back to Linux 2.0, when SMP support was added for the first time, and has since offered some necessary concurrency control. All the critical Linux code paths have been BKL-free for some time, however, and it is now possible to compile a kernel completely free of BKL support in noncritical places as well, which should improve performance. More efficient locking mechanisms are now used for kernel processes instead.
Better SMP Scalability
In the new version, the Ext4 file system uses the "bio" layer directly instead of the intermediate "buffer" layer, solving numerous performance and SMP scalability issues. In fact, a Flexible Filesystem Benchmark (FFSB) in a 48-core AMD box using a 24 SAS-disk hardware RAID array with 192 simultaneous FFSB threads shows a speed improvement of 300 percent while reducing CPU usage by a factor of three or four, according to the version's changelog.
XFS Scalability Improvements
Scalability of metadata-intensive workloads has been improved in Linux 2.6.37, and with visible results. Specifically, an 8-way machine running an fs_mark benchmark instance of 50 million files was improved by more than 15 percent; removal of those files was improved by over 100 percent. More such improvements are expected in version 2.6.38, which is due later this year.
I/O Throttling Support
Version 2.6.37 adds support for I/O throttling, which makes it possible to set upper read/write limits on a group of processes. This is another feature that should improve performance.
Several features have been added to improve Linux's power management, including delayed device autosuspend, which improves runtime power management. Also new to the version is LZO hibernation compression.
Multiple updates to Security Enhanced Linux (SELinux) are designed to enhance security, including a new fast status update interface.
Thanks to the inclusion of virtually countless new drivers, meanwhile, Linux 2.6.37 promises to take hardware compatibility to new levels. Included among the new additions are drivers for support of i915, Nouveau and Radeon chips in the video realm and carl9170 for Atheros AR9170 802.11n devices in the networking world along with a Gigabit Ethernet driver for Topcliff PCH and a driver for the Brocade BNA 10GB Ethernet.
Version 2.6.38 of the Linux kernel is expected in late March or early April. In the meantime, there's plenty to celebrate in these new features.