I might be a little late on this but I was going through how various production schedulers work recently and I came across the O(1) scheduler which was replaced by the Completely Fair Scheduler, or CFS, both by Ingo Molnár.
As the name suggests the O(1) scheduler takes constant time but CFS is O(log N). Then why was such a move made? Obviously, there must have been a good reason. If it has to do with making applications more responsive, then how does CFS help? (And why do others still use a multilevel feedback queue approach?)