Software Update: Linux Kernel 2.6.31

Spread the love

On the Linux Kernel Mailing List, Linus Torvalds has announced another new Linux 2.6 kernel. This time the kernel has arrived at version number 2.6.31 and contains the necessary improvements compared to the previous release. As usual, the Kernel Newbies have neatly lined up the changes and these are up this page to read. Support for USB 3.0, among others, has been added and the ARM department has gone through a lot of improvements. Torvalds’ announcement looks like this:

Linux 2.6.31

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/performance 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.

Linus

Version number 2.6.31
Release status Final
Operating systems Linux, Linux x86, Linux AMD64, Linux IA-64
Website Linux Kernel Mailing List
Download http://www.nl.kernel.org/pub/linux/kernel/v2.6/
File sizes 10.10MB – 74.60MB
License type GPL
You might also like