2007-05-20 09:37:27

by Con Kolivas

[permalink] [raw]
Subject: [ANNOUNCE] Staircase Deadline v1.00 cpu scheduler

The staircase deadline cpu scheduler continues to be the reference with
respect to interactive fairness for many workloads especially with 3d gaming.
This version is only trivially different from the version included in the -ck
patchset which has been very stable. The version number has been incremented
to version 1.00 purely to reflect that stability. Those on -ck are already
running the equivalent of this version.

http://www.kernel.org/pub/linux/kernel/people/ck/patches/staircase-deadline/2.6.22-rc2/2.6.22-rc2-sd-1.00.patch

In comparison with the standalone version 0.48 of sd the changes are as
follows:

Default rr_interval was increased to 10ms on uniprocessor (it is scaled up on
SMP) for throughput reasons. Note that -ck has 6ms and -cks has 10ms as
defaults (on UP, double that for 2 cpus). This can be altered (as always) by
modifying the value in /proc/sys/kernel/rr_interval.

The PRIO value exported to userspace as seen by 'top', 'ps' etc will now
reflect the relative priority of tasks on the expired array by their value
being greater than 39.

The interactive tunable patch was rolled into this patch and is enabled by
default. Note the effect of this tunable is subtle except on 3d games. This
can be altered by modifying /proc/sys/kernel/interactive. A summary of the
interactive sysctl from Documentation/sysctl/kernel is:

The staircase-deadline cpu scheduler can be set in either purely
forward-looking mode for absolutely rigid fairness and cpu distribution
according to nice level, or it can allow a small per-process history
to smooth out cpu usage perturbations common in interactive tasks by
enabling this sysctl. While small fairness issues can arise with this
enabled, overall fairness is usually still strongly maintained and
starvation is never possible. Enabling this can significantly smooth
out 3d graphics and games.

--
-ck