October 3, 2012

Linux 3.6 Debuts with 5 Major Advances

Late last month Linux creator Linus Torvalds had been considering publishing an eighth release candidate of the Linux 3.6 kernel, but on Sunday Torvalds decided to skip that step and launch the final version instead.

Tux“A week passed, and things have been calm, and I honestly cannot see a major reason to do another rc,” Torvalds explained in the official announcement. “So here it is, 3.6 final. Sure, I'd have been happier with even fewer changes, but that just never happens. And holding off the release until people get too bored to send me the small stuff just makes the next merge window more painful.”

Changes included in Linux 3.6 are “too many to list,” Torvalds added. “There haven't been any huge new architectures or filesystems, it's all 'solid progress.' That may not sound all that exciting, but the devil is in the details, and there's a lot of small fixes all over.”

Among the most visible features in this new release is a “hybrid sleep” capability much like what has long been offered by Microsoft Windows. Plenty of other goodies also promise to improve life for Linux users, however. Here's a quick look at some of the highlights.

1. Changes to Btrfs

While Linux 3.5 saw some improvements to Ext4, this latest kernel version 3.6 brings a number of tweaks to the new copy on write (CoW) Btrfs filesystem instead. Included among the improvements are the addition of subvolume quotas and quota groups and cross-subvolume file clones. And a “send/receive” features targeting backups by which Btrfs can compute the differences between two snapshots and then store the differences in a file that can later be replayed for reconstructive purposes. 

Ext4, incidentally, did get a boost in Linux 3.6 as well, with better quota support.

2. 'Suspend to Both,' or 'Hybrid Sleep'

“It is often useful to suspend to memory after a hibernation image has been written to disk,” explains the commit description on kernel.org. “If the battery runs out or power is otherwise lost, the computer will resume from the hibernated image. If not, it will resume from memory and the hibernation image will be discarded.” 

This feature is essentially what's known as “hybrid sleep” in the world of Microsoft Windows, for example, and with kernel 3.6 it's now available in Linux as well, offering a particular boon to users of portable devices.

3. 'TCP Fast Open'

Also new in Linux 3.6 is client-side support for TCP Fast Open, a new mechanism developed by Google that enables data exchange during TCP’s initial handshake, thereby decreasing application network latency by one full round-trip time and reducing the delay experienced by short TCP transfers. In fact, TCP Fast Open can lead to speed improvements of between 4 percent and 41 percent in page load times on popular websites, according to the Linux 3.6 release notes. Server support for this feature is still to come. 

4. Another Blow Against 'Bufferbloat'

With Linux 3.5 we saw the addition of a new bufferbloat-fighting tool called Codel, which is a queue management algorithm, and Linux 3.6 brings another one. Also designed to combat bufferbloat, or the high latency and reduced throughput that can result from excessive buffering across an entire network path, TCP Small Queues essentially puts a cap on the amount of data that can be queued for transmission by any given socket, according to an LWN report

5. Support for SMB2

Last but not least, SMB2 is the successor to the widely used Server Message Block (SMB) network file-sharing protocol, also known as Common Internet File System (CIFS), and is the native file-sharing mechanism for Windows since it debuted with Vista in 2006. Linux 3.6 adds support for SMB2, which “will eventually allow users better performance, security and features,” the release notes explain.

Of course, any list of just five kernel features will scarcely begin to scratch the surface of what's included. Details about countless new drivers and other enhancements in Linux 3.6 can be found on KernelNewbies.org.

Katherine Noyes

Click Here!