While you were likely to be opening up Christmas presents, Linus Torvalds was giving Linux users around the world a special present: the release of the next major Linux kernel: Linux 2.6.28.
He had some time to tinker with this latest and greatest Linux, and it's my kind of Christmas present: solid improvements to my favorite operating system. Here are the five features that I think most of us will appreciate the most as we move into the New Year.
The next step up in Linux file systems, has finally arrived. Ext4 improves, well, everything about hard drive storage. It gives you larger file-system and file sizes, faster I/O, better journaling, and it can defragment your drive on the fly.
In particular, its delayed allocation functionality greatly improves hard disk write performance. This won't help your PC hard drive that much, but if you're running a database server, you'll see significant improvements. How fast is 'significant?' In my informal tests with MySQL 5.0, I saw write-speed boosts of approximately 30% on a 400GB database. Try it yourself on your servers, you'll be impressed. In addition, since Ext4 can handle up to 1024 petabytes per volume, I expect Ext4 and Sun's ZFS are going to be fighting it out for top server file-system for the next ten-years.
2) GEM Memory Manager for Graphics
Linux is finally getting decent support from the major graphic vendors, like ATI and NVIDIA. That's great, if you have a high-end graphics card with its own memory and processor. But, say you're like the rest of us without much money and you're using the graphics that are built into your motherboard? Linux will run fine on your PC, but your graphics won't be that fast. Until now.
With Linux 2.6.28, GEM (Graphics Execution Manager) Linux finally includes a graphics memory manager. This will manage your graphics memory whether it's on a dedicated card or part of your main memory. By providing a central, common memory manager, GEM enables even ordinary graphics, like the popular and cheap Intel 915 chipset, to run 50% faster. That's a performance boost that anyone can see.
GEM is still very much a work in progress. At this time, only the 915 is fully supported. Other graphic chip developers though are already hard at work getting their drivers to work with GEM. This graphics memory manager will not only make their lives easier, it will also deliver much faster performance for both low-end and top-of-the-line desktop users. In short, GEM may not be much now, but it's going to be a win-win for everyone by this summer.
3) Disk Shock Protection
Ever drop a laptop? I have. So far, I've been lucky and I haven't smacked a hard drive silly. Laptop vendors know they can't count on everyone being lucky so they've been incorporating drop protection into their notebooks and netbooks.
This works by moving the hard drive read/write heads away from the disk if the laptop detects that it's moving quickly and is likely to be slamming on the floor in a few milliseconds. Until now, though, Linux didn't know a thing about this kind of protection. So, you could end up with Linux trying to get the drive heads to write while the drive firmware was trying to move the heads out of the way before the laptop and concrete had a sudden, violent meeting. Now, Linux will work with most of these fumble-finger proof hard drives. Speaking for klutzes everywhere, I'd like to say thank-you.
4) Staging Drivers
Did you ever want to use a device for Linux where there was 'some' support for it, but it wasn't good enough to be in the main kernel? If you use a lot of new hardware, you've probably been there. As Jake Edge reports, "There has been an ongoing struggle between those who want to see drivers get included as quickly as possible versus those who want to see them approach or attain normal kernel quality levels first." He's got that right.
Greg Kroah-Hartman, who has been leading Linux hackers' efforts to create drivers, created the -staging tree for these, not quite ready for prime-time drivers. You don't have to use them, but they're available if you need them. For example, I wanted access to USB/IP. This driver enables you to access USB devices over a TCP/IP network. I'm using it to access printers that are attached to a Belkin Network USB Hub. Is it perfect? No. But it does let me get to those printers, so that's a win in my book.
5) Network improvements
The 2.6.28 kernel includes new support for UWB (Ultra Wide Band), Wireless USB, UWB-IP, and Nokia's mobile phone Phonet Network Protocol. That's all well and good, but unless you're one of the few who work with UWB or Phonet, I'm not sure how important that will be. I do think Wireless USB will end up being a big deal. That said, what I think is easily the neatest improvement in 2.6.28's networking is that it now supports the minstrel Wi-Fi rate control.
Chances are you haven't heard about minstrel. Once you have it on your Wi-Fi equipped computer though you'll wonder how you ever lived without it. Minstrel keeps a constant watch on which Wi-Fi AP (access points) in your area are delivering the fastest possible performance and automatically hook you up with it. With minstrel, you're pretty much guaranteed to always get the best Wi-Fi connection that's available. I like this. I like this a lot. Frankly, based on what I've been seeing while using it with my Linux-powered ThinkPad R61, I'd upgrade to 2.6.28 for this feature alone.
So, my advice to you is that if any of this sounds good, you can either upgrade your PC to Linux 2.6.28 manually, which is what I did, or you can start encouraging your favorite Linux distribution group to move to 2.6.28 sooner rather than later. You'll be pleased you did.