The scheduler is one of the most important parts of an operating system. It is responsible for managing the run-queue of all active processes and hence is made responsible every time the machine “feels sluggish” under load. While being such an integral design part, little to no changes have been made to the original 4BSD scheduler used by FreeBSD. This, for one, lies in the effects any change could bring: from unusual behavior to severe performance regressions. Second, the task in rewriting a scheduler (more precisely inventing or implementing a new scheduling algorithm) is technically challenging. Obviously, the piece of code has great powers and must not give up under any circumstances. On the other hand, it has to be very efficient in order to not waste CPU-cycles, since it’s called upon every context switch. This tremendous task has been attacked in FreeBSD to create a new scheduler, dubbed ULE. But this scheduler newer met its design goals (never both stability and efficiency) and hence never replaced the 4BSD code. Development would have been more fruitful if it wasn’t for the advent of SMP machines, where ULE has been historically weak. After a quarrel about the principle usefulness of ULE under certain circumstances some months ago, nothing new was heard from the scheduler. But on January 4, Jeff Roberson announced that he had addressed some long standing concerns about ULE and has committed ULE 2.0 into CURRENT. With this my hopes are again high that a viable alternative to the current scheduler will be available some day in the future.