The Brain Fuck Scheduler v0.446 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
Fix BFS circle dead lock.
ck-3.12: fix BFS compiling with CONFIG_SMP=n
ck-3.12: force disabling BOOTPARAM_HOTPLUG_CPU0 with BFS enabled
kvm: replace cond_resched() with schedule()

	This commit tries to fix qemu CPU soft-lock while using
	>=2 vCPU per guest with BFS enabled. The trick is stolen
	from here:
	https://bugzilla.redhat.com/show_bug.cgi?id=1038929#c5
ck-3.14: merge official BFSv447 aka 3.14-ck1
ck-3.15: fix merge conflicts
ck-3.15: fix compiling errors
ck-3.15: fix linking errors
Merge branch 'ck-3.15' into pf-3.15