Back to home page

OSCL-LXR

 
 

    


0001 ===================
0002 Switching Scheduler
0003 ===================
0004 
0005 Each io queue has a set of io scheduler tunables associated with it. These
0006 tunables control how the io scheduler works. You can find these entries
0007 in::
0008 
0009         /sys/block/<device>/queue/iosched
0010 
0011 assuming that you have sysfs mounted on /sys. If you don't have sysfs mounted,
0012 you can do so by typing::
0013 
0014         # mount none /sys -t sysfs
0015 
0016 It is possible to change the IO scheduler for a given block device on
0017 the fly to select one of mq-deadline, none, bfq, or kyber schedulers -
0018 which can improve that device's throughput.
0019 
0020 To set a specific scheduler, simply do this::
0021 
0022         echo SCHEDNAME > /sys/block/DEV/queue/scheduler
0023 
0024 where SCHEDNAME is the name of a defined IO scheduler, and DEV is the
0025 device name (hda, hdb, sga, or whatever you happen to have).
0026 
0027 The list of defined schedulers can be found by simply doing
0028 a "cat /sys/block/DEV/queue/scheduler" - the list of valid names
0029 will be displayed, with the currently selected scheduler in brackets::
0030 
0031   # cat /sys/block/sda/queue/scheduler
0032   [mq-deadline] kyber bfq none
0033   # echo none >/sys/block/sda/queue/scheduler
0034   # cat /sys/block/sda/queue/scheduler
0035   [none] mq-deadline kyber bfq