Skip to main content

Linux 2.6.28's five best features

Created Jan 9 2009 - 3:29pm

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 [1].

We 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.


1) Ext4

The next step up in Linux file systems, has finally arrived. Ext4 [2] 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 [3] and NVIDIA [4]. 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 [5]) Linux finally includes a graphics memory manager. This will matter 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 [6]. 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 have 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 out of the way before 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 [7], "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 [8], created the -staging tree for these, not quite ready for prime-time drivers. You don't have to use them, but they're available there if you need them. For example, I wanted access to USB/IP. This driver enables you to USB devices over a TCP/IP network. I'm using it to access printers that are attached to a Belkin Network USB Hub [9]. 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 improved networking is that it now supports the minstrel Wi-Fi rate control [10].

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 it 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.



Source URL:
http://blogs.computerworld.com/linux_2_6_28s_five_best_features

Links:
[1] http://lkml.org/lkml/2008/12/24/105
[2] http://ext4.wiki.kernel.org/index.php/Main_Page
[3] http://practical-tech.com/infrastructure/amd-partners-with-novell-to-open-source-ati-graphic-drivers
[4] http://www.nvidia.com/object/unix.html
[5] http://lwn.net/Articles/283793
[6] http://lwn.net/Articles/283798
[7] http://lwn.net/Articles/301192
[8] http://practical-tech.com/infrastructure/linux-hackers-offer-to-create-device-drivers-for-free
[9] http://www.belkin.com/networkusbhub
[10] http://wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/minstrel

Comments

Popular posts from this blog

mplayer-gui error : Error in skin config file

After installing mplayer-gui package, I can't start it.

$ gmplayer MPlayer 1.1-4.8 (C) 2000-2012 MPlayer Team mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Error in skin config file on line 6: PNG read error in /usr/share/mplayer/skins/default/main Config file processing error with skin 'default'
After googling a bit, I found out that it was due to the png files in dir /usr/share/mplayer/skins/default. This is the default skin directory. To fix this error, I have to install ImageMagick package because I want to use the convert program to convert all of the png files to format png24. Thus, cd /usr/share/mplayer/skins/default; for FILE in *.png ; do sudo convert $FILE -define png:format=png24 $FILE ; done
Rerun gmplayer and all should be fine.
Have fun!
UPDATE (02-10-2017)

It doesn't work on Ubuntu 16.04 (xenial) but there's a workaround here.

You can update your syst…

Moving your mysql database to another hard disk

Recently, my server's only hard disk was almost full. I bought a new hard disk with bigger size and I decided to just add it as a second hard disk. Since I need to move it to the 2nd hard disk, I need to find a proper way to move the db with minimum downtime. So I googled around and found a solution.
First, I needed to format the 2nd hard disk and I chose xfs as the filesystem. I created 2 partitions using Linux's fdisk for this task. First partition is 10 GB and 2nd one is around 900 GB. That's approximately added up to 1 TB. Then I mounted the 2nd partition in current partition eg /media/hd2 as follows:
mount -t xfs /dev/sdb5 /media/hd2
where /dev/sdb5 is the partition and /media/hd2 is the mounting dir.
Stop mysql db before doing anything:
service mysql stop
Afterthat, I copied the entire db to newly mounted hard disk:
cp -rv /var/lib/mysql /media/hd2
It will take a while if you have huge databases.
Then, change the ownership of the dir to user and group of mysql:
chown -R mysql:…

Transparent proxy with squid 2.6

I have upgraded my squid from 2.5 STABLE13 to 2.6 STABLE18. Transparent proxy is setup differently in this version. You need this directives in squid.conf (usually in /etc or /usr/local/etc or /usr/local/squid/etc, check with your distro).

acl our_networks src 192.168.2.0/24 127.0.0.1
http_access allow our_networks
http_port 192.168.2.1:3128 transparent
always_direct allow all

where 192.168.2.1 is your proxy server IP address.


If you have flushed your iptables, create new rule:

iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 3128

where 3128 is the port where squid is running.
References:
http://www.deckle.co.za/squid-users-guide/Transparent_Caching/Proxy