Linux Rings in the New Year with 3.2 Kernel
Linus Torvalds officially released the first new Linux kernel of 2012 late Wednesday, complete with a long list of new features that will enhance server deployments.
Among the major enhancements in the 3.2 kernel is a pair of improvements to two Linux filesystems. The Ext4 filesystem is getting a boost that will see filesystem blocks grow to up to 1 MB in size up from the traditional 4 KB.
"This adds supports for bigalloc file systems," Linux kernel developer Ted Ts'o wrote in his initial code commit. "It teaches the mount code just enough about bigalloc superblock fields that it will mount the file system without freaking out that the number of blocks per group is too big."
Ext4 first landed in the Linux kernel back in 2008 with the 2.6.28 kernel as the successor to Ext3. It is often used as the default filesystem in Linux distributions.
Looking beyond Ext4 is the next-generation Btrfs filesystem that is seen by some as the possible future successor to Ext4. In the new Linux 3.2 kernel, Btrfs continues to mature with performance improvements, including a scrub read-ahead.
"This change raises the average disk bandwidth utilization on my test volume from 70 percent to 90 percent," Kernel developer Arne Jansen wrote in his code commit. "On another volume, the time for a test run went down from 89s to 43s."
Additional control for Linux servers debuts in the 3.2 kernel by way of the new CFS Bandwidth Control capability. According to the kernel documentation for the new feature, bandwidth control enables the system to specify the maximum amount of CPU bandwidth available to a group.
"The bandwidth allowed for a group is specified using a quota and period," the kernel documentation states. "Within each given 'period' (microseconds), a group is allowed to consume only up to 'quota' microseconds of CPU time. When the CPU bandwidth consumption of a group exceeds this limit (for that period), the tasks belonging to its hierarchy will be throttled and are not allowed to run again until the next period."
On the networking front, the 3.2 kernel implements a new IETF draft specification called, Proportional Rate Reduction for TCP (PRR).
"PRR is an algorithm that determines TCP's sending rate in fast recovery," Kernel developer Nandita Dukkipati wrote in his commit message. "PRR avoids excessive window reductions and aims for the actual congestion window size at the end of recovery to be as close as possible to the window determined by the congestion control algorithm. PRR also improves accuracy of the amount of data sent during loss recovery."
Read more on "Server OS Spotlight" »