mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 04:42:12 +00:00
898bd37a92
Rename the block documentation files to ReST, add an index for them and adjust in order to produce a nice html output via the Sphinx build system. At its new index.rst, let's add a :orphan: while this is not linked to the main index.rst file, in order to avoid build warnings. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
40 lines
1.3 KiB
ReStructuredText
40 lines
1.3 KiB
ReStructuredText
===================
|
|
Switching Scheduler
|
|
===================
|
|
|
|
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
|
|
|
|
It is possible to change the IO scheduler for a given block device on
|
|
the fly to select one of mq-deadline, none, bfq, or kyber 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/sda/queue/scheduler
|
|
[mq-deadline] kyber bfq none
|
|
# echo none >/sys/block/sda/queue/scheduler
|
|
# cat /sys/block/sda/queue/scheduler
|
|
[none] mq-deadline kyber bfq
|