BFS Scheduler Benchmarks
A few weeks back Con Kolivas returned to the Linux kernel scene after parting ways with kernel development for two years. Con, who has contributed a great deal to the Linux kernel in the past particularly with CPU schedulers, returned and introduced BFS. BFS (not to be confused with the file-system of the same name) is a new scheduler for the Linux kernel that's designed for optimal performance on hardware that's more common with a majority of Linux desktop users, not massive data centers running dozens (and in some cases, hundreds) of CPUs. The BFS scheduler is designed to offer "extremely low latencies for excellent interactivity", according to Con Kolivas. In this article we have a set of benchmarks comparing BFS and the current default scheduler within the Linux kernel, the Completely Fair Scheduler.
While we are not kernel scheduler experts, for our testing we simply built a Linux 2.6.31 (final) kernel from source using a stock configuration with the 1000Hz timer, preempt enabled, and dynamic ticks disabled, per the BFS scheduler recommendations. When building the kernel one time we built it with the Brain Fuck Scheduler built-in and then again, we built the 2.6.31 kernel with the same configuration but without BFS and instead using the Completely Fair Scheduler. The Completely Fair Scheduler has been used in the Linux kernel since version 2.6.23 and was created by Ingo Molnar but Con Kolivas inspired its fair scheduling design.