Kernel 2.4.17 Out
ThatComputerGuy writes "Linux kernel 2.4.17 is final, with a lot of fixes/updates. Check out the huge changelog. If you're on a desktop machine, you should try using RML's preempt patch, it definitely helps response times."
← Back to Stories (view on slashdot.org)
A bios upgrade fixed the problem for me. Look for an update on your motherboard vendor's website.
Actually, there is a final 2.4.17 patch, but it's not on the page linked to. Go tom l/ preempt-kernel/v2.4/ and grab it from there (or use a mirror).
http://www.kernel.org/pub/linux/kernel/people/r
-Todd
"The details of my life are quite inconsequential..."
I had similar problems with 2.4.14 and the kernel preemption patch, but I'm running it against 2.4.16 right now with spectacular results. I can play a DVD full screen when the system load (i/o bound) is greater than 3 on my single-Athlon 900. No skips, pops, jumps, anything. Smooth as silk.
* And remember, it's spelled N-e-t-s-c-a-p-e, but it's pronounced "Mozilla."
Rule of thumb: If it's in the base kernel sources, you're OK. If it's a patch to the kernel sources, be careful but not overly concerned. If it's a pre-compiled binary (even if only in part), be very cautious. Remember: Google is your friend.
Example: The Alcatel external USB DSL modem, for example, has a binary part that isn't fully SMP-safe. Because of that, it can't be used with the preempt patch even on a system with a single main CPU.
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
There are two things here. Preemptive in userspace, and preemptive in kernel space. Linux is preemptive in user space, meaning that when a process is running application code, it can be preempted. When it is running kernel code, however (ie. during a system call) the scheduler will not preempt the thread, even if a higher priority one becomes available. Essentially (on a single processor) the kernel code is cooperatively multitasked. Kernel code runs until schedule() is called to invoke the scheduler. Some kernel code paths are very long, which leads to long periods where the current process cannot be preempted, which kills latency.
Also, to expand on the original question, there are a couple objections to the patch: It has the potential total throughput, because more locking must be used since the kernel can be preempted at any time, not just at specified points. However, in practice, the effect on throughput seems to be negligible. It also increases complexity, due to additional locking, but most of the complexity is there anyway, in the form of the SMP locks.
A deep unwavering belief is a sure sign you're missing something...