Linked by Thom Holwerda on Tue 10th Jul 2007 21:57 UTC, submitted by maverick
Permalink for comment 254401
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.





Member since:
2005-08-01
I've been using SD when it first made its appearance as RSDL. Con Kolivas showed that a completely fair scheduler really provides the best experience for all workloads... No more "hand tuning" for specific cases like the old mainline scheduler.
To date: SD is still better at some workloads (absolutely fair compared to CFS) especially when it comes to OpenGL/beryl/compiz/gaming/music workloads.
SD has a higher context switch rate (due to array switching) but has "smoother" performance (yes, that is a metric that Ingo uses too). CFS doesn't have array switching artifacts since it uses a rbtree (no arrays) which leads to lower context switches. In theory, CFS is better, but in practice SD is my favorite.
I've tested each version of SD and CFS since there inception, and SD has been consistently ahead in terms of "smoothness" and fps while doing compiz/totem/mplayer/xmms/muine torture testing.
Unfortunately CK got some cold treatment by Ingo and other Kernel developers (including Linus). Ingo essentially took CK's idea, made a worse copy (not as fair), and has been bug fixing it since the beginning. Each version adds more "hand tuning" to make up for its unfair nature; such as the many "granularity" kernel interfaces in /proc/sys/kernel. SD only has one interface in /proc/sys/kernel, rr_interval.
Meanwhile SD has been stable at 1.00 for a long time now. As far as I'm concerned, SD is the reference, and CFS is trying to match it. SD could probably be further improved with many micro-optimizations, only if CK had the will.
Ingo also took CK's IDLEPRIO and IDLE_BATCH and implemented them.
I'm not saying anything is wrong with using GPL'd code and trying to improve on it, but CK was shut down early on, and now Ingo is free to implement his version after the fact.
CK has now released his final ever release of CK 2.6.22-ck1. I believe he is tired of this BS. So you see I'm forced to use CFS because it has Linus' blessing and is now on the fast track for mainline. Sigh.
CFSv19 is finally matching SD for most workloads, but I can still manage to starve X and compiz during normal usage. Overall however, CFS is a major improvement to the old mainline scheduler which was inherently unfair.
Edited 2007-07-11 00:20