[ANNOUNCE] DeskOpt 005 (completely unfair scheduling ;))

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux