2.6.16-ck1

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
http://ck.kolivas.org/patches/2.6/2.6.16/2.6.16-ck1/patch-2.6.16-ck1.bz2

or server version
http://ck.kolivas.org/patches/cks/patch-2.6.16-cks1.bz2

web:
http://kernel.kolivas.org

all patches:
http://ck.kolivas.org/patches/

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:

SCHED_BATCH:
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.

SCHED_ISO:
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
via /proc/sys/kernel/iso_cpu

SCHED_IDLEPRIO:
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

Added:
+sched-implement-smpnice.patch
+sched-smpnice-apply-review-suggestions.patch
+sched-smpnice-fix-average-load-per-run-queue-calculations.patch
New improved smpnice implementation

+sched-store-weighted-load-on-up.patch
+sched-add-discrete-weighted-cpu-load-function.patch
+sched-add-above-background-load-function.patch
Updates to smpnice above to be used by swap prefetch

+sched-generic_optims2.patch
Small naming cleanups / microoptimisations

+sched-idleprio-1.2.patch
The old SCHED_BATCH policy from 2.6.15-ck7 has been renamed to SCHED_IDLEPRIO
and small updates to the policy were committed.

+adaptive-readahead-11.patch
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.


Removed:
-vmsplit-config_options.patch
This is part of mainline 2.6.16 now

-2.6.15-dynticks-060227.patch
-dynticks-disable_smp_config.patch
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.

-patch-2.6.15.6.bz2
Mainline


Modified:
-sched-staircase13.2.patch
-sched-staircase13.2_13.3.patch
-sched-staircase13.3_13.4.patch
-sched-staircase13.4_13.5.patch
+sched-staircase14.2.patch
Rolled up and updated to latest version of staircase cpu scheduler. Mostly
microoptimisations, and intrinsic support for new style of SCHED_BATCH
policy.

-schedrange-1.diff
+schedrange-2.diff
Resync with change in scheduler policies available

-schedbatch-2.11.diff
Replaced with new SCHED_IDLEPRIO policy

-sched-iso3.3.patch
+sched-iso-4.1.patch
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).

-isobatch_ionice2.diff
+iso_idleprio_ionice.patch
-vm-mapped.diff
+vm-mapped-1.diff
-vm-background_scan-1.diff
-mm-highmem_fix_background_scan.patch
+mm-background_scan.patch
-mm-prio_dependant_scan.patch
-mm-batch_prio.patch
+mm-prio_dependant_scan-1.patch
+mm-idleprio_prio.patch
Rename/resync/rollups

-mm-swap_prefetch-28.patch
-mm-swap_prefetch-tweaks.patch
+mm-swap_prefetch-30.patch
+sp-resume1.patch
+mm-aggresive_swap_prefetch.patch
+swsusp-post_resume_aggressive_swap_prefetch.patch
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
the tunable

-2615ck7-version.patch
+2.6.16-ck1-version.patch
Version update


Full patchlist:

sched-implement-smpnice.patch
sched-smpnice-apply-review-suggestions.patch
sched-smpnice-fix-average-load-per-run-queue-calculations.patch
sched-store-weighted-load-on-up.patch
sched-add-discrete-weighted-cpu-load-function.patch
sched-add-above-background-load-function.patch
sched-staircase14.2.patch
sched-generic_optims2.patch
schedrange-2.diff
sched-iso-4.1.patch
sched-idleprio-1.2.patch
defaultcfq.diff
iso_idleprio_ionice.patch
rt_ionice.diff
pdflush-tweaks.patch
hz-default_values.patch
hz-no_default_250.patch
mm-swap_prefetch-30.patch
vm-mapped-1.diff
vm-lots_watermark.diff
mm-background_scan.patch
mm-kswapd_inherit_prio-1.patch
mm-prio_dependant_scan-1.patch
mm-idleprio_prio.patch
sp-resume1.patch
mm-aggresive_swap_prefetch.patch
swsusp-post_resume_aggressive_swap_prefetch.patch
adaptive-readahead-11.patch
2.6.16-ck1-version.patch


Cheers,
Con

Attachment: pgp00000.pgp
Description: PGP signature