1*898bd37aSMauro Carvalho Chehab=================== 2*898bd37aSMauro Carvalho ChehabSwitching Scheduler 3*898bd37aSMauro Carvalho Chehab=================== 4*898bd37aSMauro Carvalho Chehab 5*898bd37aSMauro Carvalho ChehabEach io queue has a set of io scheduler tunables associated with it. These 6*898bd37aSMauro Carvalho Chehabtunables control how the io scheduler works. You can find these entries 7*898bd37aSMauro Carvalho Chehabin:: 8*898bd37aSMauro Carvalho Chehab 9*898bd37aSMauro Carvalho Chehab /sys/block/<device>/queue/iosched 10*898bd37aSMauro Carvalho Chehab 11*898bd37aSMauro Carvalho Chehabassuming that you have sysfs mounted on /sys. If you don't have sysfs mounted, 12*898bd37aSMauro Carvalho Chehabyou can do so by typing:: 13*898bd37aSMauro Carvalho Chehab 14*898bd37aSMauro Carvalho Chehab # mount none /sys -t sysfs 15*898bd37aSMauro Carvalho Chehab 16*898bd37aSMauro Carvalho ChehabIt is possible to change the IO scheduler for a given block device on 17*898bd37aSMauro Carvalho Chehabthe fly to select one of mq-deadline, none, bfq, or kyber schedulers - 18*898bd37aSMauro Carvalho Chehabwhich can improve that device's throughput. 19*898bd37aSMauro Carvalho Chehab 20*898bd37aSMauro Carvalho ChehabTo set a specific scheduler, simply do this:: 21*898bd37aSMauro Carvalho Chehab 22*898bd37aSMauro Carvalho Chehab echo SCHEDNAME > /sys/block/DEV/queue/scheduler 23*898bd37aSMauro Carvalho Chehab 24*898bd37aSMauro Carvalho Chehabwhere SCHEDNAME is the name of a defined IO scheduler, and DEV is the 25*898bd37aSMauro Carvalho Chehabdevice name (hda, hdb, sga, or whatever you happen to have). 26*898bd37aSMauro Carvalho Chehab 27*898bd37aSMauro Carvalho ChehabThe list of defined schedulers can be found by simply doing 28*898bd37aSMauro Carvalho Chehaba "cat /sys/block/DEV/queue/scheduler" - the list of valid names 29*898bd37aSMauro Carvalho Chehabwill be displayed, with the currently selected scheduler in brackets:: 30*898bd37aSMauro Carvalho Chehab 31*898bd37aSMauro Carvalho Chehab # cat /sys/block/sda/queue/scheduler 32*898bd37aSMauro Carvalho Chehab [mq-deadline] kyber bfq none 33*898bd37aSMauro Carvalho Chehab # echo none >/sys/block/sda/queue/scheduler 34*898bd37aSMauro Carvalho Chehab # cat /sys/block/sda/queue/scheduler 35*898bd37aSMauro Carvalho Chehab [none] mq-deadline kyber bfq 36