2 ms·
> The evolution of scheduling in Linux By and large, by the year 2000, operating systems designers considered scheduling to be a solved problem… If I recall co
by CalChris 9y ago
> The evolution of scheduling in Linux By and large, by the year 2000, operating systems designers considered scheduling to be a solved problem…
If I recall correctly, 2000 is 2.3.x which had a braindead trivial scheduler. Basically it just looped through the process list and executed goodness() and found the 'best'. This was obscenely slow when there were a lot of dormant processes. The process table links all mapped to the same cache set which led to cache evictions during the scheduling loop, even TLB evictions. Et cetera. It was just bad, really really bad. Compared to its BSD, Solaris, ... contemporaries, it was garbage.
The O(1) scheduler starts in 2.4 at the tail end of 2000 followed by the Completely Fair Scheduler in 2007, etc. And the Linux scheduler continues to get better. But in 2000, it sucked. Reeked.
- ksk 9y agoFrom my experience, Linux CPU and I/O scheduling got good from 2.6.x (also around 2007) around when AIO became robust.
- dullgiulio 9y agoIsn't AIO still implemented with threads in libc? In that case, it's just the CPU scheduler that counts...
- MichaelMoser123 9y agoHe means io_submit, that one is not done as user threads