This month marks the two-year anniversary of the release of BFS, the Brain Fuck Scheduler, for the Linux kernel. While BFS has not been merged into the mainline Linux kernel, the scheduler is still actively maintained by Con Kolivas and patches are updated for new kernel releases. The BFS scheduler has also reached mild success and adoption over the past two years. In this article is a fresh look at the Brain Fuck Scheduler along with a fresh round of benchmarks from the Linux 3.0 kernel.
You don`t really need this patch anymore. I can get 0.33ms latency with the regual kernel, with a good config. But it still outperforms the regular kernel, according to Con Kolivas benchmarks, so if you want the absolutely lowest latency, go for it.
Seems to perform at bit better aswell in other areas, according to this article !
Edited 2011-08-16 17:14 UTC
Pretty brain fucked name for a scheduler
Perhaps it’s coded in BF ?
Nope. It’s coded in C – as is the rest of the Linux kernel (well, aside any ASM dotted about)
AFAIK there’s no way to embed BF code into C so I’m not even sure you could have kernel elements written in BF
Edited 2011-08-16 19:13 UTC
I know, I know, just a lame attempt at a joke
Ahhh sorry. My humor chip was malfunctioning last night anyway
Seems like he is loving my brain. So kiss instead. Hrm or I hope that isn`t what he means with the name, some do mistake physical things for the real deal!
It is somewhat weird Linux doesn’t ship with a set of schedulers to choose from since there is no scheduler suited for every possible workload. I think it might be a maintenance issue but I feel this could be an opportunity for some sort of plugin system for the kernel similar to drivers. There might be other areas as well like memory management where it could benefit.
No, it’s not (mainly) a maintenance issue, it’s a policy choice: Linus wants to have a good “all-purpose” scheduler, not several special-purpose schedulers..
Of course, not everybody agree with him as shown by CK’s BFS. Note that even if you don’t use BFS, its existence had a nice side effect: it improved Linux, as it helped find a bug in the stock scheduler.