|
|
Subscribe / Log in / New account

PlugSched-6.0 for 2.6.12 and 2.6.13-rc6

From:  Peter Williams <pwil3058@bigpond.net.au>
To:  Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject:  [ANNOUNCE][RFC] PlugSched-6.0 for 2.6.12 and 2.6.13-rc6
Date:  Tue, 23 Aug 2005 12:03:52 +1000
Cc:  Chris Han <xiphux@gmail.com>, Con Kolivas <kernel@kolivas.org>, William Lee Irwin III <wli@holomorphy.com>, Jake Moilanen <moilanen@austin.ibm.com>

This version contains the following changes:

1. upgrade the staircase scheduler to version 11.6,
2. major reorganization of the spa_no_frills and zaphod code to clean up 
the mechanism by which they share code.  This includes the definition of 
a simple interface which can be used to extend spa_no_frills to create 
new schedulers relatively easily, and
3. a new scheduler, spa_ws, which is an extension of spa_no_frills 
intended for use on work stations.

The spa_ws aspires to provide good interactive responsiveness and glitch 
free audio/video playing by giving tasks that are forking or waking from 
a sleep a "latency bonus".  The latency bonus is composed of a small 
fixed bonus plus a component based on the tasks sleepiness.  Certain 
tasks (e.g. those with a "nice" value greater than zero or tagged with 
the TASK_NONINTERACTIVE flag do not receive any bonus as it is assumed 
that latency is not an issue for these tasks).  This scheduler tries to 
identify audio/video tasks based on the regularity of their wake 
intervals and their length (currently between 10 and 100 milliseconds) 
and if it does so gives them a bonus one greater than the maximum that 
could be attained for other tasks subject to their cpu usage rate being 
less than a specified minimum.  The mechanisms involved are very simple 
in an attempt to not degrade the compute performance of the scheduler.

A patch for 2.6.12 is available at:

<http://prdownloads.sourceforge.net/cpuse/plugsched-6.0-fo...>

and for 2.6.13-rc6 at:

<http://prdownloads.sourceforge.net/cpuse/plugsched-6.0-fo...>

Very Brief Documentation:

You can select a default scheduler at kernel build time.  If you wish to
boot with a scheduler other than the default it can be selected at boot
time by adding:

cpusched=<scheduler>

to the boot command line where <scheduler> is one of: ingosched,
nicksched, staircase, spa_no_frills, spa_ws or zaphod.  If you don't 
change the default when you build the kernel the default scheduler will 
be ingosched (which is the normal scheduler).

The scheduler in force on a running system can be determined by the
contents of:

/proc/scheduler

Control parameters for the scheduler can be read/set via files in:

/sys/cpusched/<scheduler>/

Peter
-- 
Peter Williams                                   pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
  -- Ambrose Bierce
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds