Lead kernel developer Linus Torvalds announced the official release of Linux 2.6.28 on Wednesday. The new version introduces some noteworthy changes that will put the kernel in a strong position for growth and advancement in the coming year. This latest release follows a few months after version 2.6.27, which was released in October.

"It doesn't really matter what day it is, or what holiday (if any) you're celebrating, because even if you sit at home, alone in your dank basement, without any holidays or friends, I bring you a tiding of great cheer: you can now download Linux-2.6.28, and compile it to your hearts content," wrote kernel chieftain Torvalds in a message to the kernel mailing list. "In fact, even _if_ you have friends or family, leave them to their endless toil over that christmas ham or turkey, and during the night, when they're asleep, you can give them that magical present of a newly updated computer. When they wake up tomorrow morning, tell them how you saw Santa crawl down the chimney with his USB stick in hand, updating the OS of all good boys and girls."

Graphics Execution Manager (GEM)

One of the most significant additions in 2.6.28 is the Graphics Execution Manager (GEM), a new GPU memory manager that was developed primarily by Keith Packard and Eric Anholt of Intel. In some early benchmarks that Intel conducted back in May, GEM was said to boost framerates by between 50 and 60 percent for Intel 915 graphics hardware. GEM represents a significant and much-needed step towards modernization for the Linux graphics stack.

The need for a GPU memory manager was originally going to be fulfilled by the translation table maps module (TTM), which was created by Tungsten graphics. TTM has several deficiencies, however, and its API is regarded as needlessly complex. Plans to merge TTM in version 2.6.24 of the kernel were scrapped and the kernel development community selected GEM as its successor. At the present time, the Intel drivers are the only ones that can take advantage of GEM, but work is already underway to add support for other devices.

Ext4 filesystem

Another significant milestone in version 2.6.28 is that the ext4 filesystem has been declared stable and no longer designated as "experimental". As the successor to ext3, the most widely-used Linux filesystem, ext4 boosts performance and reliability and provides a clean migration path for existing ext3 users so that it can be adopted without necessitating a reformat. In ext4, the theoretical maximum filesystem size has been increased to 1 exabyte and the 32,000 limit on the number of subdirectories that can be contained in any given directory has been eliminated.

The filesystem check (fsck) process is also significantly faster in ext4 thanks to the new uninitialized block group feature. Instead of scanning every inode table on the filesystem, fsck will now only check inodes that are in use. This optimization will make fsck between two and 20 times faster depending on how much of the filesystem is consumed. There are a number of other significant features in ext4, including delayed allocation, support for extents, and journal checksumming. These features will reduce fragmentation and increase the robustness of the filesystem.

TAINTed_CRAP in the mainline kernel

Prominent Linux developer Greg Kroah-Hartman has left a particularly special present for kernel hackers under the source tree in 2.6.28. The -staging branch, which contains incomplete or unstable drivers, has been merged into the mainline kernel and placed in a new "staging" directory. It is hoped that this move will increase the visibility of work-in-progress drivers and encourage other developers to help contribute to the effort of readying them for full adoption. The modules in staging will all be marked with Kroah-Hartman's new TAINT_CRAP flag, which signifies their unsuitability for regular usage. Although the staging move was highly controversial, it could have a very positive impact on driver development and accelerate the rate at which new drivers evolve.

All told, this is a cool release that moves the kernel forward in several important ways. The 2.6.28 patch (which is 9.5 MB) and the full kernel source code are available from the kernel.org web site. For more details, read the comprehensive overview of 2.6.28 at the Kernel Newbies web site.

Further reading

