Con Kolivas has been maintaining an excellent set of kernel patches " designed to improve system responsiveness, with emphasis on desktop pcs." The latest patches are against the stable 2.4.19 kernel, adding the O(1) scheduler, batch scheduling, kernel preemption, low latency and Andrea Arcangeli's latest -aa VM improvements. You can optionally swap the -aa VM for Rik van Riel's [earlier interview] -rmap VM, as included in Alan Cox's [earlier interview] 2.4 -ac branch.
Applying the patchset is quite simple. Obtain the 2.4.19 kernel from a kernel.org mirror and the -ck patchset from here. Then, to apply the patch and compile the kernel you'll likely be typing something like this:
# cd /usr/src
# tar xvfj linux-2.4.19.tar.bz2
# mv ck6_2.4.19.patch.bz2 linux-2.4.19
# mv linux-2.4.19 linux-2.4.19-ck6
# cd linux-2.4.19-ck6
# bunzip2 ck6_2.4.19.patch.bz2
# patch -p1 < ck6_2.4.19.patch
# cp ../linux/.config .
# make oldconfig
# make dep && make bzImage && make modules && make modules_install
# cd ..
# rm linux
# ln -s linux-2.4.19-ck6 linux
After moving the resulting 'bzImage' and 'System.map' into place, and adding the new kernel to your boot loader configuration, you're all set to boot the new kernel and enjoy an impressively responsive computer!
From: Con Kolivas To: linux-kernel mailing list Subject: Batch scheduling and fixes added to performance patches (-ck) Date: Sat, 7 Sep 2002 15:28:23 +1000 I've updated the merged patches: O(1) - now includes batch scheduling Preemptible Low Latency - now fully supported on SMP AA memory mods and some other minor fixes. Get them here as -ck6 : http://kernel.kolivas.net Feel free to give me your thoughts, comments, suggestions and don't forget to cc me to ensure I see your email. Cheers, Con.
Supermount added
Due to these patches being designed with desktop users in mind I have had a lot of requests for supermount. I have now updated them to -ck7 which includes supermount (but is otherwise unchanged).
Cheers and enjoy!
Con.
re: Supermount added
Hey Con, thanks for -ck :-)
One question though, what is supermount?
Supermount
Hey my pleasure.
Supermount? It's a file system patch that allows removable devices to be automounted each time they are accessed or changed (eg cdrom,floppy). A fstab entry that supports supermount would look like this:
/mnt/cdrom /mnt/cdrom supermount dev=/dev/hdc 0 0
It should be mounted at startup and then any time anything accesses the directory /mnt/cdrom it will check the device /dev/hdc. You don't need to mount/unmount it ever.
Re: Supermount
Damn, just when I had -ck6-rmap installed. Now I've got to recompile. Thanks, anyway. The patch is great.
Recompiling
You're most welcome. Glad you enjoy it.
You only need to recompile up to -ck7 if you actually desire supermount, but I've found many people asking for it so chances are you do :-P
Re: Recompiling
I do, supermount is quite nice. There's a lock break patch available from Robert Love as well (although only up to 2.4.18). Wouldn't it make sense to integrate that, too? Or is this done by the low latency patch already?
Lock break v Low Latency
The lock break patch is an attempt to make the kernel preemptible in places where Andrew Morton's low latency patch also specifies conditional scheduling can occur; ie it more or less does the same thing. I'm using the low latency patch instead as this is the most up to date lock breaking low latency conditional scheduling patch available for the stable kernel :)
Fotograf
I am a newbbi to Linux...my OS is Slackware-10 Kernel 2.4.26
so I presume I do not have to download that older 2.4.19 kernel you
mentioned here ? How should I apply the Patch to my own Kernel ?
Will appreciate the instructions......to duplicate them manually under the Root :-) or e-mail to me: yurad[at]hotmail[dot]com
Applying patches is easy. All
Applying patches is easy. All you have to do is to get in the source directory of the app you want to patch, copy the patch file in it and execute the patch command. An example:
(inside my app sources)# patch -p1 < mypatchfile.patch
Pretty cool, huh?