Back to article
Linux 2.6.35 Includes Speedy Google Code, Less Bloat
New Filesystem and More Faster
August 2, 2010
Chief among improvements in the new 2.6.35 Linux kernel are incoming network traffic load-spreading features: Receive Packet Steering (RPS) and Receive Flow Steering (RFS), which aim to improve performance. Both enhancements were contributed by search engine giant Google.
"RPS distributes the load of received packet processing across multiple CPUs," Google (NASDAQ: GOOG) developer Tom Herbert wrote in his Linux code commit message."This solution queues packets early on in the receive path on the backlog queues of other CPUs. This allows protocol processing (e.g. IP and TCP) to be performed on packets in parallel."
Receive Flow Steering (RFS) is extension to RPS and directs (or "steers") application packets to the correct CPU.
"The obvious benefit of RFS (over just RPS) is that it achieves CPU locality between the receive processing for a flow and the applications processing," Herbert wrote in his Linux commit for RFS. "This can result in increased performance."
The 2.6.35 release also includes new improvements to the Btrfs filesystem, continuing efforts begun by the previous Linux 2.6.34 kernel, which debuted in May to add and enhance support for additional filesystems.
Originally developed by Oracle's Chris Mason, Btrfs is a next-generation filesystem that first appeared in the Linux 2.6.29 kernel in March 2009. Since then, Btrfs has undergone a number of stability, feature and performance improvements.