![Alan D. Brunelle](/assets/img/avatar_default.png)
as-iosched.txt: o Changed IO scheduler selection text to a reference to the switching-sched.txt file. o Fixed typo: 'for up time...' -> 'for up to...' o Added short description of the est_time file. deadline-iosched.txt: o Changed IO scheduler selection text to a reference to the switching-sched.txt file. o Removed references to non-existent seek-cost and stream_unit. o Fixed typo: 'write_starved' -> 'writes_starved' switching-sched.txt: o Added in boot-time argument to set the default IO scheduler. (From as-iosched.txt) o Added in sysfs mount instructions. (From deadline-iosched.txt) Signed-off-by: Alan D. Brunelle <Alan.Brunelle@hp.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
44 lines
1.6 KiB
Text
44 lines
1.6 KiB
Text
To choose IO schedulers at boot time, use the argument 'elevator=deadline'.
|
|
'noop', 'as' 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 anticipatory 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 anticipatory deadline [cfq]
|
|
# echo anticipatory > /sys/block/hda/queue/scheduler
|
|
# cat /sys/block/hda/queue/scheduler
|
|
noop [anticipatory] deadline cfq
|
|
|
|
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
|