First off, for the impatient or the unmotivated, let me point you to another post on Phoronix, which contains a video showing the night and day difference this patch brings. If your still not impatient, then you could wait for 2.6.38, which will hopefully have this, considering Linus's supportive comments, regarding the patch.
Ok now for the glory details on getting this patch up and running. I did this on Ubuntu 10.10 but it should work the same for other Debian and Debian like distros as well as other popular distros with minor tweaks.
- Get the kernel
- Download the kernel 2.6.37 from kernel.org. At the time of writing, 2.6.37 had not been officially released and was at RC2
tar jxf linux-2.6.37-rc2.tar.bz2
- Get the patch
- The patch published by Mike Galbraith can also be copied from here. Save it to a file called kernelboost.patch in /usr/src/kernelboost.patch
- Dry-run and Apply patch
- Go to the kernel directory and dry-run the patch to make sure it applies cleanly. If everything is ok, go ahead and apply for real ;)
patch --dry-run -p1 < /usr/src/kernelboost.patch
#if everything is ok
patch -p1 < /usr/src/kernelboost.patch
- Configure and compile the kernel
- This is a generic step of compiling the kernel. The configuring step can be performed using your current config file. Make sure you enable the patch by answering Y to CONFIG_SCHED_AUTOGROUP.
cp /boot/config-2.6.35-22-generic /usr/src/linux-2.6.37-rc2/.config
If your on Ubuntu, I'd recommend installing the kernel the Debian way instead of using the make, make modules_install and make install steps.
apt-get install kernel-package fakeroot build-essential ncurses-dev
sed -rie 's/echo "\+"/#echo "\+"/' scripts/setlocalversion
CONCURRENCY_LEVEL=`getconf _NPROCESSORS_ONLN` fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
You should find two .debs in /usr/src related to the new custom kernel. Install using dpkg -i or by double clicking on the deb from the file manager. Once you reboot to the new kernel everything should be all set. Just to double check make sure :
If it has 1 then its enabled. You can echo 0 > /proc/sys/kernel/sched_autogroup_enabled to disable the scheduler on the fly.
I noticed a significant improvement when trying to play BioShock from Steam using CrossOver Games. With the previous kernel, I had a lot of lag, especially with Compiz turned on. For instance, when moving the mouse to look around, it was very much discrete. Now I notice things are smoother and the game is much playable.
Your experience may be different depending on how you use the computer. Chances are that if you tend to use CPU hogging applications such as playing games or watching HD movies, you will notice an improvement.
Till next time a blog worthy event that excites me happens~