The Linux kernel project has release version 2.6.31, bringing a multitude of changes to memory management, performance, file systems and device drivers, according to project founder Linus Torvalds.
Following nine release candidates, the final version was released after “a couple of last regressions and problems” were fixed Torvalds wrote on the Linux kernel mailing list.
Kernel 2.6.30 was released in June this year and since then the developers have committed hundreds of changes to the software.
According to Torvalds, one of the more painful changes has been the new, cleaned-up fsnotify (kernel file system notification system) backend.
“But it's teething problems have hopefully been sorted out,” he wrote.
“There's also been lots of work on KMS (kernel mode-setting). Both lots of updates on the Intel side (displayport support, next-gen IGD, etc) and obviously the whole new (and still experimental) radeon KMS code.”
The new KMS work is set to increase the speed of the Linux desktop during periods of high memory use.
2.6.31 also includes are “fair chunk” of new debugging and peformance counter code for memory leak detection (kmemleak), memory usage checking (kmemcheck) and performance counters (perf_counter).
“Those new debugging features are not likely usable under any real load, but are good for finding kernel bugs at a huge performance cost,” Torvalds said. “The performance counters are a nice and easy-to-use alternative to things like oprofile, allowing you easy access to some pretty powerful profiling of hardware events.”
An increasingly common theme among recent kernel releases is more device driver updates.
“What else? Lots and lots of driver work,” Torvalds wrote.
The statistics speak for themselves. More than 70 per cent of all of the 2.6.30-to-2.6.31 patch is under the drivers/ folder, and there's another 6 per cent in firmware/ and sound/.
“That's not entirely unusual, but it does seem to be growing. My rough rule of thumb used to be 50 per cent drivers, 50 per cent everything else, but that's clearly not true any more.”
In fact, Torvalds said the ratio hasn't been 50-50 for a while with more than 60 per cent since after 2.6.27.
“I think the whole 'staging' thing is what moved things up by several percentage points.”
Non-driver changes are to architecture code — ARM leads the way with its “insane number” of platforms, but mips, powerpc, sh, and x86 are up there as well. The rest are filesystem updates, according to Torvalds.
For a summary of the list of changes from the 2.6.30 release, see the Kernelnewbies.org 2.6.31 page.