The Brain Fuck Scheduler v0.447 by Con Kolivas.

A single shared runqueue O(n) strict fairness earliest deadline first design.

Excellent throughput and latency for 1 to many CPUs on desktop and server
commodity hardware.
Not recommended for 4096 cpus.

Scalability is optimal when your workload is equal to the number of CPUs on
bfs. ie you should ONLY do make -j4 on quad core, -j2 on dual core and so on.

Features SCHED_IDLEPRIO and SCHED_ISO scheduling policies as well.
You do NOT need to use these policies for good performance, they are purely
optional for even better performance in extreme conditions.

To run something idleprio, use schedtool like so:

schedtool -D -e make -j4

To run something isoprio, use schedtool like so:

schedtool -I -e amarok

Includes accurate sub-tick accounting of tasks so userspace reported
cpu usage may be very different if you have very short lived tasks.

-ck
bfs: Put changes to cpufreq behind CONFIG_SCHED_BFS
bfs: Tweak configs and restore hidden config options
bfs: Add autoiso for X
Merge remote-tracking branch 'github/3.14/zen-tune' into HEAD

Conflicts:
	drivers/cpufreq/cpufreq_ondemand.c
	init/Kconfig
bfs: Add zen-tune tweaks
Merge remote-tracking branch 'github/3.14/bfs' into 3.14/master
Merge tag 'v3.14.3' into 3.14/master

This is the 3.14.3 stable release

Conflicts:
	Makefile
	kernel/sysctl.c
ck-3.12: fix BFS compiling with CONFIG_SMP=n
Merge branch '3.14/bfs' into 3.14/master
Zen 3.14.x merged