Linux Kernel Performance Improvements

by Caitlyn Martin

On July 22nd a new set of kernel packages was released for Vector Linux, my chosen primary and current favorite distribution. This was the second build of the 2.6.21 kernel with Con Kolivas' CK2 patchset, replacing a test build released on July 8. In the past the only reason I've recommended upgrading a kernel is to close security vulnerabilities or to add support for new hardware. Recently, though, there is another very good reason: noticeably improved performance, particularly if you are currently using kernel 2.6.19 or earlier.

16 Comments

Aristotle Pagaltzis
2007-07-26 15:25:47

The Vector Linux link goes to http://www.vectorlinu.com/, which doesn’t exist – it’s missing an “x”.

Gregm
2007-07-27 08:35:21
It's almost enough to make me try out Vector Linux again (it's been a while since I looked into it). I wasn't aware they were using this patchset in their distro, and it'd be worth checking out. I can only see two problems with this:


1) Con Kolivas' CK2 patchset, as I understand it, is at the end of it's developmental lifecycle. Con was interviewed recently, describing why he isn't going to do kernel dev work anymore. So unless someone like Vector Linux starts officially supporting and CONTINUING his work, this is kind of a dead end.


2) "Linux developers, OTOH, know full well that even on the newest hardware there is good reason to have the most efficient, sleekest, fastest code possible so long as functionality is not sacrificed." This is actually part of the reason Con sites for his waning interest in kernel development work in Linux. Your statement is essentially true, from a certain perspective. The focus of linux devs seems to be heavily biased towards server optimizations, and the desktop users tend to loose out. He seems to have lost interest in fighting the uphill battle with the kernel dev team for desktop performance improvements. Unless this bias changes, optimizations like Con's patchset will continue to be left out of the mainline kernel.


Hopefully market interest will help fix these (and a multitude of other) problems that keep Linux from achieving the desktop market share it's capable of. In any case, thank you for the article. I look forward to seeing how Vector Linux plays this out.

Caitlyn Martin
2007-07-27 10:05:50
@Gregm: This artice isn't about Vector Linux. The 2.6.21 kernel WITHOUT Con Klivas' patchset is markedly faster than the 2.6.19 and previous kernels. This applies to all Linux distributions. The addition of the patchset was a decision made by the Vector Linux developers who realize their distro mainly is used on the desktop. However, I still believe that the optimizations being made for the server (Linux' primary market at this point) generally benefit desktop users as well. Nobody loses out.


The reason Linux doesn't have desktop market shaere has nothing to do with this. It has to do with preloaded Linux systems not being available in most stores, the learning curve in moving from Microsoft (i.e.: inertia), lack of marketing, etc... In many ways the Windows has been playing catch-up not only with the Mac desktop but with Linux as well. How long have we Linux users had window grouping? How long before Vista was released did we have 3D enhancements? The reasons Microsoft continues to dominate the desktop market are strictly to do with the market, not with anything technical.

Caitlyn Martin
2007-07-30 15:49:18
@Aristotle: Thanks for the heads up. Yep, that was a typo on my part. It has been corrected.
Bob
2007-07-31 15:19:16
I complied my own kernel from the 2.6.22.1 source and it fixed the issue of using old IDE drives on the new Core2Duo P35 motherboards.


Thank god I can use DMA now, my hard drive went from 1.6mb/s to 70.9mb/s!!!


Even XP/2003 can't use dma with both dvd/hd on same cable! Alan Cox et al are genii.

Caitlyn Martin
2007-08-03 09:11:06
One important note for those who do use Vector Linux courtesy of Uelsk8s on the Vector Linux forum:
This kernel-modules package does not have madwifi, ndiswrapper, zd1211b, or ipw3945 wireless drivers.
If you need any of those they will need to be compiled.

I did compile the madwifi drivers for my laptop and everything works perfectly.
AnotherGeek
2007-08-03 13:02:11
My system has been running pretty smoothly for awhile now so I did not notice any huge improvements in performance. However, I bet that other lightweight machines probably perform quite a bit better.


As for kernel upgrading, I did my first one without knowing it was supposed to be a problem area for new users. Everything went fine and I have been pretty fearless ever since.

tony
2007-08-07 20:45:23
Since i installed 2.6.21 i'd been having some trouble with wifi, my ap essid is dd-wrt and to make linux work with it i have to do iwconfig eth1 essid dd-wrtt(an extra t), and if i do iwconfig eth1 essid "" the system will reboot without a notice, no kernel panic. Why its that?
I am not using ndiswrapper.
Caitlyn Martin
2007-08-08 09:13:54
@Tony: Sorry, I have no idea. This is the first I've heard of a wifi problem caused by a 2.6.21 kernel. What distro are you running? 32-bit or 64-bit? Did you get a kernel package from the distributor? If so you really need to go to their help. If you compiled your own kernel from kernel.org you might want to try 2.6.22.1 and see if that helps. I wish I could be of more help.
tony
2007-08-12 00:41:47
I have Debian Etch 32bits and compiled from kernel.org and the modules i get it from the rt2570 package using module-assistant, when i run some of the wireless-tools i get this message:


Warning: Driver for device rausb0 has been compiled with version 22
of Wireless Extension, while this program supports up to version 20.
Some things may be broken...


Well i've updated to 2.6.22.2 and it broke the compilation of the modules, so i now i am using the CVS hourly tarball from rt2x00.serialmonkey.com and it works fine, still getting the same warning message.
I'm still wondering why it crash on 2.6.21.

Caitlyn Martin
2007-08-12 09:42:46
@Tony: It sounds like some piece of wireless software needed to run your device (a driver, wireless tools?) is compiled against a 2.6.20 kernel and also needs to be upgraded to run against 2.6.21 or 2.6.22. Since you haven't specified the device or posted any logs (i.e.: contents of dmesg for the boot in question) there is no way anyone can troubleshoot the problem with the information provided. In any case a blog is NOT the right forum for troubleshooting the problem. I'd suggest the support forum for your distribution as a better place to post. Be sure to give them more complete information.
Caitlyn Martin
2007-08-12 10:17:18
UPDATE: This past week I wrote about using a friend's Gateway MX7626 laptop (AMD 64-bit processor) running the 64-bit version of Ubuntu Feisty Fawn with a 2.6.19 kernel. In the article I mentioned intermittent problems with sound. She decided to try and correct this problem by upgrading ALSA and decided to use Ubuntu development packages for Gutsy Gibbon rather than removing the existing ALSA packages and compiling from source.


Installing the new ALSA packages forced her into a new version of glibc and, well... you can see where this is going. In the end she did a full fledged

apt-get dist-upgrade

and is now running Ubuntu Gutsy Gibbon Tribe 4. Yes, this fixed her sound problem. It also installed new kernel packages, first 2.6.20.5 and then to 2.6.22.9. The increase in speed was far more dramatic than what I saw with 32-bit Vector Linux. Running 64-bit Ubuntu with the new kernel her system just flew.


This confirms that the kernel performance improvements apply to both 32 and 64 bit architectura and definitely apply to pretty much any distribution.

tony
2007-08-12 13:14:48
@Caitlyn Martin I was not expecting any help or support. I just wanted to share my experience with new kernels. Anyhow if anybody is interested my wifi device its a linksys WUSB54G.
Caitlyn Martin
2007-08-14 08:19:48
@Tony: If you reread my article you will see that I recommend getting your new kernel from your Linux distributor, most definitely NOT from kernel.org and compiling it yourself. There is a good reason for this. If you get new kernel packages from your distributor then all the optional drivers and modules are updated to match the new kernel, including any binary blobs necessary for so many wireless products. I believe your problem stems from the way you upgraded your kernel rather than the fact that you went to a new kernel.
hidden
2007-08-25 07:01:03
Updated to 2.6.22-9-generic first - abit fast and a bit slow - half half for gutsy using feisty following an easy to use upgrade path followed by this post


http://ubuntuforums.org/showthread.php?t=511974&highlight=xserver-xgl


and had very very few problems


this morning updated to

2.6.22-10-generic


and everything works fine for me basically- some bugs to work out and can see more probs this time unless it's me, I've been up all night :P soooo anyway that/this last version makes my P4 NO hyper threading 2.66 ghz 4600i computer quick loading up stuff well quicker then the .9 version.


Compared to XP ubuntu/linux is a bit better even in a virtual environment XP SUCKS and messes up quickly.. :P and is easy to mess up.


Caitlyn Martin
2007-08-28 11:20:53
@hidden: My experience with using bits of or all of Ubuntu Gutsy Gibbon Tribe 4 is mixed at best. I can confirm that the 2.6.22.x kernels are faster than what shipped with Feisty. I also believe that it was the upgrade to 2.6.22.10 that caused wifi to fail on my friend's system. She's going back to Feisty.


My general advice is to avoid running beta code on any system you care about. Fast but broken isn't better than slower and reliable.