To view parent comment, click here.
To read all comments associated with this story, please click here.
OK, but Linux has community for about what? 15 years? For 15 years no one done it right? What changed? It was pure luck? We have now better tools? We are smarter now (as a population)? We know more about operation systems theory?
And especially - why no one bother to do it earlier? It's system core - it has to be top - notch!
EDIT: Re-reading. Comment too aggressive. Please ignore.
Long answer.
1. During the past -19- years, the Linux scheduler has changed more than once. Each was designed with a different workload in mind; Each was designed to used on a different hardware. (Important!)
2. During the years, that average server moved from a dual socket / dual CPU's to dual/quad socket / 6-12 (!!!) cores / 12 threads. The average workstation jumped from a single CPU to 4-12 cores/threads.
3. The CFQ scheduler is ~3 year old.
4. The Linux kernel is fairly well suited for server workloads.
Now, given the above, the Linux scheduler is under constant development as the baseline requirements continue to evolve (See item 2). As developers gain experience with the relatively new CFQ scheduler and the new hardware classes (E.g. 24 thread workstations and 12 thread desktops), they gain new insight into the how to solve existing (and new) problems - in this case: low responsiveness (?) when dealing with desktop workloads.
Keep in mind that while trying to fix this problem, the scheduler developers must be certain that their patches do not drop the kernel's server workload performance, as the server market is Linux' bread and butter.
You are reading far too much into the size of the patch.
- Gilboa
Edited 2010-11-17 13:53 UTC
Aside what the others have already answered, I'd like to add the following:
Windows' kernel is under constant development too. In fact, this is the case for all kernels on all active OSs.





Member since:
2005-07-06
Your question is based on two assumptions:
A. Kernel development (especially code profiling) is easy.
B. Finding the right balance between interactive and non-interactive processes is easy - especially when dealing with generic kernel schedulers, such as the Linux scheduler.
- Gilboa