public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
To: LKML <linux-kernel@vger.kernel.org>, CK Mailinglist <ck@vds.kolivas.org>
Subject: [ANNOUNCE] DeskOpt 005 (completely unfair scheduling ;))
Date: Wed, 05 Sep 2007 14:55:49 +0200	[thread overview]
Message-ID: <46DEA755.4030604@googlemail.com> (raw)

Hi,

Completely fair scheduling is really good thing, but if you want the best
performance for certain application you need to tune up some things.

DeskOpt is designed to help people tune up their systems for certain tasks.

Here are the results from the Nexuiz benchmark

|------------------------------------------------------------------------|
|                          |    CFS + CFQ      |   CFS + CFQ + DeskOpt * |
|------------------------------------------------------------------------|
| timedemo demos/demo2     | 41,395896833 fps  |   41,460051233 fps      |
|--------------------------|-------------------|-------------------------|
| timedemo demos/demo2     | 18,343223633 fps  |   37,814504933 fps      |
| + massive_intr 4 1000    |                   |                         |
|--------------------------|-------------------|-------------------------|
| timedemo demos/demo2     | 9,334974533 fps   |   37,376611267 fps      |
| + massive_intr 8 1000    |                   |                         |
|------------------------------------------------------------------------|

* default class for games

Software requirements:
- Python 2.x (http://python.org/)
- elementtree (http://effbot.org/downloads/#elementtree)

DeskOpt installation:
cp deskopt /usr/local/bin/
mkdir /etc/deskopt/
cp deskopt.conf /etc/deskopt/
cp deskopt.rc /etc/init.d/

The configuration file must be a valid XML file.

CFQ tuning:
back_seek_max
back_seek_penalty
fifo_batch_expire
fifo_batch_async
fifo_batch_sync
quantum
slice_sync
slice_idle
slice_async
slice_async_rq

http://lwn.net/Articles/101029/
http://lwn.net/Articles/114273/

Anticipatory tuning:
antic_expire
read_batch_expire
read_expire
write_batch_expire
write_expire

Documentation/block/as-iosched.txt

Deadline tuning:
fifo_batch
front_merges
read_expire
write_expire
writes_starved

Documentation/block/deadline-iosched.txt
http://kerneltrap.org/node/431


Usage: deskopt [options]

Options:
  -h, --help            show this help message and exit
  -c CONFIG_FILE, --config-file=CONFIG_FILE
                        Configuration file
  -d, --debug           Debug
  -H HDD, --hard-drives=HDD
                        List of hard drives
  -l LOOP_TIME, --loop-time=LOOP_TIME
                        Loop time
  -q, --quit            Quit
  -v, --version         Show version number

Example:
# deskopt -c /path/to/my/config/file.conf --hard-drives="sda hdb" -l 60
or
# deskopt -c /path/to/my/config/file.conf

The latest version of DeskOpt can be downloaded from 
http://www.stardust.webpages.pl/files/tools/deskopt/

Changelog:
- support for Anticipatory and Deadline scheduler (requested by Chris Snook)
- support for a different hard drives (previous version was limited to hdd
  with /usr partition)
- something like a documentation (requested by Satyam Sharma)
- the code looks a bit better now

diff -uprN deskopt-004/deskopt deskopt-005/deskopt | diffstat
 deskopt |  870 +++++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 562 insertions(+), 308 deletions(-)

TODO:
- support for device queue length tuning (suggested by Andi Kleen)
- kill signal handling, bug fixes etc.

Comments and suggestions are welcome.

It still has many flaws :)

Regards,
Michal

--
LOG
http://www.stardust.webpages.pl/log/

                 reply	other threads:[~2007-09-05 12:56 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=46DEA755.4030604@googlemail.com \
    --to=michal.k.k.piotrowski@gmail.com \
    --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