Op de Linux Kernel Mailing List heeft Linus Torvalds weer een nieuwe Linux 2.6-kernel aangekondigd. De kernel is ditmaal aangekomen bij versienummer 2.6.31 en bevat de nodige verbeteringen ten opzichte van de vorige uitgave. Zoals gewoonlijk hebben de Kernel Newbies de veranderingen weer keurig op een rijtje gezet en deze zijn op deze pagina na te lezen. Ondersteuning voor onder andere usb 3.0 is toegevoegd en de ARM-afdeling heeft heel wat verbeteringen doorgemaakt. De aankondiging van Torvalds ziet er als volgt uit:
Ok, there's just a few final commits since -rc9 to fix a couple of last regressions and problems, and now the final 2.6.31 is out there. The small diffstat and shortlog is below, the full log and diff from 2.6.30 are being uploaded to kernel.org (and then mirrored out) as I write this. In general, the full set of 2.6.30->31 changes are too numerous to list, but as usual, you'll find some high-level overviews on kernelnewbies.org.
One of the more painful changes has been the new cleaned-up fsnotify backend that takes care of both inotify and dnotify (and shrinks the inode while doing so), but its teething problems have hopefully been sorted out.
There's also been lots of work on KMS - 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.
There's also a fair chunk of new debugging/peformance counter stuff: 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.
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 (and sw) events.
What else? Lots and lots of driver work. Over 70% of all of the 2.6.30 to 2.6.31 patch is under drivers/, and there's another 6%+ 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% drivers, 50% everything else", but that's clearly not true any more (and hasn't been for a while - we've been 60%+ since after 2.6.27 - I think the whole 'staging' thing is what moved things up by several percentage points).
If you ignore drivers/ (and firmware/ and sound/) about half the remaining changes are to arch/ code (with ARM leading the way with its insane number of platforms, but mips, powerpc, sh, and x86 are up there too), and the rest being filesystem updates (VFS layer: mostly that fsnotify thing, but also: btrfs, cifs, ext3, fuse, gfs2, nfs, nilfs, xfs) and with a spinkling of Documentation, kernel and perf-tools updates.
And as usual, this obviously means that the merge window for 2.6.32 is open. But give me a day or so before bombarding me with merge requests: I like to encourage even developers to first give the plain new release a go, and not immediately start the crazy flood of patches.