2.6.7-ck1

Con Kolivas
2004-06-16T11:23:07Z

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Patchset update. The focus of this patchset is on system responsiveness with
emphasis on desktops, but the scope of scheduler changes now makes this patch
suitable to servers as well.

http://kernel.kolivas.org

Includes
Staircase scheduler v7.0 (unchanged resync of v6.E)
Extra scheduling policies for staircase:
Isochronous scheduling - low latency non-privileged (ie soft real time)
Batch scheduling - idle scheduling
Autoregulated VM swappiness
Supermount-NG v2.04

Changes:
Staircase scheduler and all policies for scheduler updated
Autoregulated swappiness updated to bias exponentially much more like a real
world system.

Removed:
Sched domains merged into mainline
Hyperthread nice merged into mainline
CFQ I/O elevator merged into mainline
CDDMA merged into mainline
Bootsplash - dropped; patch getting too old to safely merge
Reiser4 - dropped; patch too old
Grsecurity option - dropped; unknown future and breaks SMP
IO Prio - not part of current CFQ scheduler; await new version

Sysctl options:
Staircase scheduler can be set for different workloads:

echo 0 > /proc/sys/kernel/interactive
will disable interactive tasks from having bursts, thus being even stricter
about nice levels (suitable for non gui desktop usage or a server)

echo 1 > /proc/sys/kernel/compute
makes round robin intervals much longer, delays task preemption and disables
interactive mode to optimise cpu cache usage - suitable for computational
intensive tasks.

Autoregulated swappiness:
echo 0 > /proc/sys/vm/autoswappiness
disables the autoregulated swappiness thus allowing you to set
swappiness manually as exists in mainline

Using schedtool ( http://freshmeat.net/projects/schedtool/?topic_id=136 ) you
can enable the different scheduling policies:

schedtool -I -e xmms
or
schedtool -I $pid

will start xmms as an "Isochronous" scheduled task. Alternatively if a task
tries to get real time scheduling but you do not have priviliges for RT
it will drop the task to SCHED_ISO.

schedtool -B -e setiathome

will start setiathome as a "Batch" scheduled task. This means it will
not get cpu time unless the cpu is completely idle. Note this is _not_
suitable for tasks that are disk intensive as a held semaphore can lead to a
DoS.

Con
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFA0C1+ZUg7+tp6mRURAsDmAJ9bgPhhe8On4UeqEhD6FNcvPGqnWACeJG9C
yNJaCuLgi4AMT7gTPA+CHjw=
=DBuT
-----END PGP SIGNATURE-----