Differences between version 6 and predecessor to the previous major change of KernelPreemption.
Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 6 | Last edited on Tuesday, March 2, 2004 11:50:59 am | by JohnMcPherson | Revert |
Older page: | version 4 | Last edited on Saturday, January 24, 2004 12:31:46 pm | by RichardSilverman | Revert |
@@ -4,4 +4,11 @@
Now, in 2.4, the Big Kernel Lock has gone away, everything is protected by its own little locks. This means the kernel is "reentrant". Now, the Preemptive Kernel Patch works by allowing a process to preempt the suspention of another process already in the kernel on the same [CPU]. This gives much better response, since if you have a high priority task that's blocked waiting on some data, and a low priority process running, as soon as the data is available to the high priority task it can resume running immediately, whereas before preemption it would have to wait until the low priority task left the kernel.
Surprisingly enough, in most situations this actually improves performance! The reason is that processes that have been blocked get an opportunity to run as soon as possible doing a bit of work and then usually blocking quickly afterwards allowing the machine to return to its previous job.
+
+
+If you are looking for information on how to get KernelPreemption working under Linux kernels:
+
+If you run a 2.6 kernel, then you just need to enable the preemptive kernel option.
+
+If you run a 2.4 kernel, you'll need to patch it. Look at ftp://ftp.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/v2.4/ to find a patch for your kernel. Note that if there isn't a patch for your kernel yet, you'll have to wait. Sorry.