| 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 |