Drastically Improve Ubuntu Feisty 7.04 Performance with the performance patchset by Con Kolivas
My Ubuntu Box was running slower than I thought I could tweak it, so what I did was look for some good patchsets and I seen some conflicting results with cfs and ck and decided to test a few benchmarks and the ck patchset is a little more responsive than cfs on my system. I have supplied a link @ the end of this post with statistics and discussions about cK vs cfs.
Here is a guide for you to walk you through the patching/compiling process, I hope you like it!
*Warning*
If you have truecrypt installed or any kernel modules like the rt73 usb wifi driver, it must be recomiled/installed for the new kernel, the performance is worth the time and effort. Make sure you download anything you need to recompile driver wise before you reboot to the new kernel.
*The drivers must be recompiled while using the new kernel!
This How-To will guide you through the compilation/installation of the 2.6.22 (more recent than the one distribuited with Ubuntu Feisty 7.04) with the performance patchset by Con Kolivas.
1-Download what is needed
Type in the command line:
sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev (needed for make xconfig)
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2
Desktop Patch:
http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.22/2.6.22-ck1/patch-2.6.22-ck1.bz2
Server Patch:
http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.22/2.6.22-ck1/patch-2.6.22-cks1.bz2
2-Now, lets unpack the kernel source to /usr/src:
*Copy the source to /usr/src:
sudo cp linux-2.6.22.tar.bz2 /usr/src
cd /usr/src
sudo tar -xvjf linux-2.6.22.tar.bz2
sudo mv linux-2.6.22/ linux-2.6.22cK1
sudo rm -rf linux
sudo ln -s /usr/src/linux-2.6.22cK1 linux
*Change to /usr/src/linux:
cd /usr/src/linux
sudo -s -H
Password:
sudo bzcat /home/username/patch-2.6.22-ck1.bz2| patch -p1
*Import the configuration of the running kernel:
uname -r
sudo cp /boot/config-2.6.20-16-generic .config
*Configure the kernel:
sudo make xconfig
In "General Setup" activate:
-Support for paging of anonymous memory (swap)
--Support for prefetching swapped memory
In "Processor type and features":
-Processor family Choose the model of your processor.
Activate:
-Preemption Model
--Voluntary Kernel Preemption (Desktop)
-High Memory Support
--off -if you have less than 1 GB of RAM
--1GB Low Memory Support -if you have 1GB of RAM
--4GB -if you have more than 1GB of RAM
-Timer frequency
--1000 Hz
In "Device drivers" go to "Block devices" and in "IO Schedulers" leave only the "CFQ I/O scheduler" activated, which provides the best performance.
In "Kernel hacking" uncheck "Kernel debugging".
Ctrl+S to save the kernel configuration and then close the window.
5-Let's build the kernel:
*In a terminal make sure you are in /usr/src/linux with full root access.
We will build a ".deb" file that can be installed in our Ubuntu system, using make-kpkg.
*In a terminal type:
make-kpkg clean
make-kpkg -initrd --revision=ck1 kernel_image
*To install it:
sudo dpkg -i kernel-image-2.6.22*.deb
6-Reboot and everything should be running ok!
*Try:
uname -r
7-Nvidia graphic cards users:
To install Nvidia driver follow the guide (no need to install linux-headers as we have the source in /usr/src/linux:
http://www.ubuntuforums.org/showthre...ghlight=nvidia
Resources:
The Kernel patch homepage of Con Colivas
Discussions on CK vs CFS