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]