Messages in this thread |  | | Date | Wed, 05 Sep 2007 14:55:49 +0200 | Subject | [ANNOUNCE] DeskOpt 005 (completely unfair scheduling ;)) | From | Michal Piotrowski <> |
| |
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/
|  |