web-dev-qa-db-ja.com

MQデッドラインスケジューラの選択方法

新しいmq-deadline ioスケジューラを選択しようとしていますが、利用できないようです。

$ cat /sys/block/sda/queue/scheduler 
noop [deadline] 

カーネル:

$ uname -a
Linux pluto 4.11.6-zenbook #1 SMP Wed Jun 21 09:39:34 EDT 2017 x86_64 GNU/Linux

dmesg:

$ Sudo dmesg|grep deadline
[    0.077863] TSC deadline timer enabled
[    1.383260] io scheduler deadline registered (default)
[    1.383261] io scheduler mq-deadline registered
4
Richard Ayotte

CONFIG_SCSI_MQ_DEFAULTも有効にする必要があります

Symbol: SCSI_MQ_DEFAULT [=y]
Type  : boolean
Prompt: SCSI: use blk-mq I/O path by default
  Location:
    -> Device Drivers
      -> SCSI device support
  Defined at drivers/scsi/Kconfig:50
  Depends on: SCSI [=y]

そして出来上がり

$ cat /sys/block/sda/queue/scheduler
[mq-deadline] none
3
Richard Ayotte

カーネルコマンドラインでこれらのパラメーターを指定するだけです。

scsi_mod.use_blk_mq=1 elevator=mq-deadline

ソース: https://wiki.archlinux.org/index.php/improving_performance#Changing_I.2FO_scheduler

1
Ludovic Ronsin