[ANNOUNCE] MuQSS CPU scheduler v0.15 for linux-4.9

From: Con Kolivas
Date: Sun Dec 11 2016 - 19:32:17 EST

Announcing an updated stable version of the Multiple Queue Skiplist Scheduler,
the successor to BFS, version 0.150 for linux-4.9.


Git tree:


Patch summary:

The MuQSS (Multiple Queue Skiplist Scheduler - pronounced mux) v0.150 by
Con Kolivas.

This is a multiple runqueue skiplist evolution of the Brain Fuck Scheduler,
designed to provide excellent latency, throughput and scalability to any
number of CPUs, with primary emphasis on latency for interactivity and

A multiple runqueue strict fairness earliest effective virtual deadline first

Runqueue insertion is O(log(n)), lookup is O(1), removal is amortised O(1).

Interactive mode is enabled by default but can be disabled for improved
throughput at the expense of deterministic low latency.

echo 0 > /proc/sys/kernel/interactive

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 configurable SMT-nice support for better nice level and scheduling
policy support across SMT (aka hyperthread) sibling CPUs.

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