diff options
Diffstat (limited to 'kernel/Documentation/block/switching-sched.txt')
-rw-r--r-- | kernel/Documentation/block/switching-sched.txt | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/kernel/Documentation/block/switching-sched.txt b/kernel/Documentation/block/switching-sched.txt new file mode 100644 index 000000000..3b2612e34 --- /dev/null +++ b/kernel/Documentation/block/switching-sched.txt @@ -0,0 +1,37 @@ +To choose IO schedulers at boot time, use the argument 'elevator=deadline'. +'noop' and 'cfq' (the default) are also available. IO schedulers are assigned +globally at boot time only presently. + +Each io queue has a set of io scheduler tunables associated with it. These +tunables control how the io scheduler works. You can find these entries +in: + +/sys/block/<device>/queue/iosched + +assuming that you have sysfs mounted on /sys. If you don't have sysfs mounted, +you can do so by typing: + +# mount none /sys -t sysfs + +As of the Linux 2.6.10 kernel, it is now possible to change the +IO scheduler for a given block device on the fly (thus making it possible, +for instance, to set the CFQ scheduler for the system default, but +set a specific device to use the deadline or noop schedulers - which +can improve that device's throughput). + +To set a specific scheduler, simply do this: + +echo SCHEDNAME > /sys/block/DEV/queue/scheduler + +where SCHEDNAME is the name of a defined IO scheduler, and DEV is the +device name (hda, hdb, sga, or whatever you happen to have). + +The list of defined schedulers can be found by simply doing +a "cat /sys/block/DEV/queue/scheduler" - the list of valid names +will be displayed, with the currently selected scheduler in brackets: + +# cat /sys/block/hda/queue/scheduler +noop deadline [cfq] +# echo deadline > /sys/block/hda/queue/scheduler +# cat /sys/block/hda/queue/scheduler +noop [deadline] cfq |