Kernel 3.0.39, recently released, and kernel 3.2.25, coming soon, include not only smaller changes and enhancements but also a long list of performance optimisations. This marks a change in the strategy for maintaining older kernel versions; previously, these kinds of adjustments generally weren’t made to stable and long-term kernels to avoid introducing bugs.
SUSE kernel developer Mel Gorman and stable and long-term kernel maintainer Greg Kroah-Hartman set the gears in motion during the development of Linux 3.5, when they worked on an extension of the rules for stable and long-term kernels. Those rules now allow changes that fix major performance and interactivity issues, even though such well intentioned changes come with an increased risk of bugs. As always, these changes (or an equivalent one) must first be integrated into Linux’s main development branch, as long as that branch demonstrates the same problem.
Gorman compiled the new changes and sent them to the kernel developer mailing list for feedback. Most of the changes described in detail in the message have been integrated into Linux 3.0.39 or will be included in 3.2.25.
Although the changes will most likely not make typical Linux systems noticeably faster, in certain environments they should lead to the kernels working better and faster. This is evidenced by comments on two of the accepted changes (1, 2); on an SGI UV system with 640 processor cores, for example, data throughput could increase from 300 to 430 MB per second when 120 threads are doing parallel writes to a filesystem in the system memory (tmpfs).