2.6.28 takes shape
Linus Torvalds released 2.6.28-rc1 and closed the merge window on October 23. So we can now see what will be in the 2.6.28 kernel. Once again, it looks like an active development cycle with a lot of new stuff for Linux users.
Memory management patches are notorious for taking a long time to get into the kernel. So it is not surprising that Rik van Riel’s scalability patches were years in the making. That code has been merged now; it should improve performance on any system with heavy memory loads. Also merged was Nick Piggin’s vmap rewrite which makes things run quite a bit quicker on multiprocessor systems.
Every development cycle brings in dozens of new device drivers, and 2.6.28 is no exception. One thing that is a bit different this time around is the inclusion of Greg Kroah-Hartman’s staging tree into the mainline. This tree contains device drivers that, for one reason or another, are not considered to be up to the usual quality standards for kernel code. They have been merged because it has been observed, over and over again, that code in the mainline tree improves much more quickly than out-of-tree code. Some of the staging tree drivers have been under development for years without getting up to a reasonable quality level; once in the mainline, some of them, at least, will improve radically over the next few months.
Ultrawideband is a GHz-range radio protocol which can be used for networking, or for number of other applications. One of those is wireless USB - connecting USB devices without the actual wire. 2.6.28 will have support for both ultrawideband and wireless USB. Much of this work was done at Intel, so, naturally, most of the supported devices tend to be made by Intel as well.
The 2008 Kernel Summit, held in September, decided that one of the first steps toward better tracing was the creation of a low-level interface for getting tracing data out to user space. 2.6.28 will have the new trace buffer code, along with a number of other tracing-related improvements.
The “ext4dev” filesystem is now called ext4. The removal of the “dev” suffix is the developers’ way of saying that this filesystem is stabilizing and getting close to ready for production use. I expect the developers to say that it’s truly ready sometime in the next couple of development cycles - in the first half of next year. Meanwhile, the next-generation btrfs filesystem has been queued into linux-next and will probably be merged into the mainline for 2.6.29 - though it will not be production-ready for some time after that.
In some ways, the most promising addition for 2.6.28 is the Graphics Execution Manager, a low-level memory-management module for graphics processors. The addition of GEM marks the beginning of the end of the long process of bringing Linux graphics into the present age. With luck, in-kernel mode setting will be merged for 2.6.29 and the job will be close to done - at least, for graphical chipsets made by cooperative vendors.
There is a lot more than that in 2.6.28, of course; it’s hard to describe over 7,000 changes in a single post. But those are the highlights. Now it comes down to the long task of stabilizing all of those changes for a solid 2.6.28 release, which will probably happen in January, 2009.