The 2.6.35 distribution of the Linux kernel has been released, incorporating support for future Intel graphics chips, power management for AMD Radeon chips and Google-donated network performance improvements for multiple processor systems, among 22 areas of significant change.
The update, released on Sunday, should improve network performance in high-use devices running applications in parallel, due to Google's contributed features of Receive Packet Steering (RPS) and Receive Flow Steering (RFS). RPS works by tagging packets as they are received by the device and routing them to a CPU from a list of target CPUs. RFS refines this process by using the data attached to the packet to assign it to the specific CPU running the network code to process it.
The new features can lead to major performance gains, said the kernel managers on the Kernel Newbies site. Using RFS and RPS, an Intel e1000e network adapter was able to double its networking-based transactions-per-second (TPS) from 104,000 tps (with 30 percent CPU usage) to 303,000 tps (61 percent CPU usage), they said.
However, the features will require high-use scenarios to be used effectively, according to author and Google employee Tom Herbert who wrote on the Linux Kernel development site that RPS "adds overhead in the path for processing a single packet. In a lightly loaded server this overhead may eliminate the advantages of increased parallelism, and possibly cause some relative performance degradation".
Similarly, RFS may only benefit specific applications as "on simple benchmarks, we don't necessarily see improvement and sometimes see degradation. However, for more complex benchmarks and for applications where cache pressure is much higher this technique seems to perform very well", according to Herbert.
The release was not without incident. Linus Torvalds, main architect of the Linux kernel and its creator, pulled up contributors in a release email over contributors submitting unstable code for consideration for release before it was ready. "[This] makes me worried because a lot of people seem to think that 'it's been in Linux-next for several months' means that something can and should be merged. And if linux-next ends up being really flaky, that clearly cannot be the case," he wrote.
In an interview with ZDNet UK in 2008 Torvalds explained that Linux Kernel development was "not a 'warm and fuzzy' environment where people sing Kumbaya around the fireplace".