From: Con Kolivas
Date: Mon Mar 20 2006 - 05:43:16 EST
These are patches designed to improve system responsiveness and interactivity.
It is configurable to any workload but the default ck patch is aimed at the
desktop and cks is available with more emphasis on serverspace.
Apply to 2.6.16
or server version
Split patches available.
* Take note, userspace features have changed in this version *
There are 3 special unprivileged (normal user) scheduling policies available
as of 2.6.16-ck1. These can be set using the schedtools utility
(http://freshmeat.net/projects/schedtool/?topic_id=136) which has support for
all of them. Additionally my toolsched scripts work as transparent wrappers
for them (http://ck.kolivas.org/apps/toolsched/). Note the policies are
different to earlier -ck versions:
This is for tasks you explicitly want the cpu scheduler to know are never
interactive and thus should never receive low latency treatment. Their cpu
usage is dependant on their nice value. This policy is also supported by
mainline now which is why there is a change of the naming/numbering scheme.
This is for tasks you explicitly want the cpu scheduler to know are low
latency real-time like tasks but you don't have root privileges for and don't
wish them to ever starve the machine. They can use up to 80% of the available
cpu time (on one cpu at any time). This percentage is configurable
This is for tasks you never want to use cpu if *anything* else wants cpu
time. That is they only ever use spare cpu cycles that would have otherwise
been idle time on the machine.
Changes since 2.6.15-ck7
New improved smpnice implementation
Updates to smpnice above to be used by swap prefetch
Small naming cleanups / microoptimisations
The old SCHED_BATCH policy from 2.6.15-ck7 has been renamed to SCHED_IDLEPRIO
and small updates to the policy were committed.
Wu Fengguang's adaptive readahead for improved read throughput without
thrashing. This version is configurable at build time. As some users have
reported latency issues with running this code, the config option is most
welcome, however those latency issues should have been mostly addressed. See
Documentation/sysctl/vm.txt for more info.
This is part of mainline 2.6.16 now
Dynticks is dead! Long live dynticks! Something killed it off in 2.6.16-rc6
and I haven't figured out what it is. I don't know if/when I'll be able to
debug this so for the moment it is dropped.
Rolled up and updated to latest version of staircase cpu scheduler. Mostly
microoptimisations, and intrinsic support for new style of SCHED_BATCH
Resync with change in scheduler policies available
Replaced with new SCHED_IDLEPRIO policy
Updated SCHED_ISO unprivileged soft real time policy. This now is higher
priority than any SCHED_NORMAL tasks but lower priority than any true real
time tasks. The default cpu limit for iso tasks was changed to 80% (Note this
is set to 0 by default on the cks patchset so server admins would explicitly
set this only if desired).
Updated to the latest swap prefetch code which will perform swap prefetching
if low priority tasks are running. This also adds the optional "use once"
feature of aggressive swap prefetching, and makes swsusp use that setting on
resume from disk which improves dramatically the immediate interactivity of a
machine just after resume. See Documentation/sysctl/vm.txt for more info on
Description: PGP signature