lkml.org 
[lkml]   [2007]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
Subject[ANNOUNCE] DeskOpt 005 (completely unfair scheduling ;))
From
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/
-
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/

\
 
 \ /
  Last update: 2007-09-05 14:59    [W:0.166 / U:0.812 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site