4 Answers
4

You will have to download, patch, and compile your own kernel because BFS is currently not part of the mainline kernel. The mainline kernel contains only one scheduler and is not meant to have multiple schedulers in the same codebase, or even on-the-fly switchable schedulers (it that's even something that could possibly be done). It would simply be too complicated, and not worth the effort.

The patch installs a new (patched) kernel, which will show up in the GRUB menu at boot with the suffix "-ck". Switch between schedulers by rebooting and selecting the appropriate kernel in the boot menu.

On performance

In my case, running Folding@Home in the background on a desktop PC (eight F@H threads on eight cores on an Intel i7 2600K), BFS is significantly better: Desktop response is snappier (not a big difference, but definitely noticeable) while the background F@H application is 20-25% faster.

In this scenario, dealing with interactive desktop use and long-running CPU-heavy background tasks simultaneously, CFS tended to leave one core idle for long periods at a time. BFS appears much better at using all cores 100% for background tasks while still providing fast response for interactive desktop tasks.

There is probably no single scheduler that will perform optimally under every possible combination of loads, but there are cases where BFS is better.

The below worked for me on Precise Pangolin (Ubuntu 12.04) YMMV, though.

BFS is Part of pf-kernel

The best way to install BFS on an Ubuntu system today (December 2013) seem to be to install pf-kernel, which is basically a standard kernel with a bunch of performance patches applied. These patches include: