public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Con Kolivas <kernel@kolivas.org>
To: linux kernel mailing list <linux-kernel@vger.kernel.org>,
	ck list <ck@vds.kolivas.org>
Subject: 2.6.21-ck1
Date: Fri, 4 May 2007 23:00:58 +1000	[thread overview]
Message-ID: <200705042301.01305.kernel@kolivas.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 4162 bytes --]

This patchset is 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.21
http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.21/2.6.21-ck1/patch-2.6.21-ck1.bz2

or server version
http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.21/2.6.21-ck1/patch-2.6.21-cks1.bz2

web:
http://kernel.kolivas.org

wiki:
http://ck.wikia.com

all patches:
http://www.kernel.org/pub/linux/kernel/people/ck/patches/


Changes since 2.6.20-ck1:

The staircase-deadline cpu scheduler has replaced the old staircase design in 
this version. The extra scheduling policies in 2.6.20-ck1 of SCHED_IDLEPRIO 
(idle cpu scheduling) and SCHED_ISO (unprivileged soft real time) have been 
rewritten and work in the same manner on this new scheduler. In almost all 
ways this should be a drop in replacement for the older -ck and no userspace 
changes should be required apart from deprecating the "compute" tunable (see 
below).

More HZ options were added to this kernel. I have had repeated requests for 
this as people have found woefully coded binary only availability software 
that is dependant on the HZ value for performance (specifically the game 
servers). Since it's trivial to add extra values I offer (mostly unsupported) 
values up to 10000 HZ. People have found game servers benefitting from up to 
4000 if I recall correctly. Note this patch will, unfortunately, cause a 
reject with 2.6.21.1 so if you wish to apply -ck to that kernel, please apply 
2.6.21.1 first and then -ck and ignore the reject, or back out the 
hz-raise_max-2.patch


The "interactive" tunable in
/proc/sys/kernel/interactive
still exists but its effects are now subtle, and fairness is still quite 
strongly maintained with it enabled, and starvation is still impossible. 
The -cks patch has this disabled by default. From the sysctl documentation 
included in Documentation/sysctl/kernel here is a summary:

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.


The "compute" tunable has been deprecated. The new tunable which is more 
flexible is the use of "rr_interval"
/proc/sys/kernel/rr_interval
and this describes the millisecond duration tasks at the same priority round 
robin between each other. The default value chosen is 6ms on UP on -ck and 
10ms on UP on -cks. With more cpus it is scaled upwards. It can be changed on 
the fly up to 5000. Setting it to this has a similar and even more profound 
effect on throughput for pure cpu bound tasks but causes large increases in 
scheduling latency. This would be highly desirable for a render or compile 
farm machine though.


Split patches available:
http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/2.6.21/2.6.21-ck1/patches/


Full patchlist:

ck1-version.patch
2.6.21-sd-0.48.patch
sched-sd-0.48-interactive_tunable.patch
sched-range.patch
sched-iso-5.4.patch
track_mutexes-1.patch
sched-idleprio-2.3.patch
sched-limit_policy_changes.patch
sched-add-above-background-load-function.patch
cfq-ioprio_inherit_rt_class.patch
cfq-iso_idleprio_ionice.patch
mm-swap_prefetch-35.patch 
mm-convert_swappiness_to_mapped.patch 
mm-lots_watermark.diff
mm-kswapd_inherit_prio-1.patch 
mm-prio_dependant_scan-2.patch
mm-background_scan-2.patch
mm-filesize_dependant_lru_cache_add.patch
mm-idleprio_prio.patch
kconfig-expose_vmsplit_option.patch
hz-default_1000.patch 
hz-no_default_250.patch 
hz-raise_max-2.patch
ck-desktop-tune.patch
+/- 2.6.21-ck1-cks1.patch  

乾杯 

-- 
-ck

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

             reply	other threads:[~2007-05-04 13:01 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-04 13:00 Con Kolivas [this message]
2007-05-04 18:59 ` [ck] 2.6.21-ck1 David J. Wallace
2007-05-05 10:45 ` 2.6.21-ck1 Miguel Figueiredo
2007-05-06  1:45 ` 2.6.21-ck1 Ryan M.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200705042301.01305.kernel@kolivas.org \
    --to=kernel@kolivas.org \
    --cc=ck@vds.kolivas.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox