より多くのスケジューラを追加

より多くのスケジューラを追加

チュートリアルでは、cfq、noopなどのさまざまなIOスケジューラを見ましたが、Linuxでテストするときは見えませんでした。

$ cat /sys/block/sda/queue/scheduler
[mq-deadline] none
$ uname -r
5.13.0-27-generic
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:        20.04
Codename:       focal

スケジューラをもっと見るためにできることがもっとあるのだろうか。どんなアイデアがありますか?

修正する:

提案されているように、次のIOSCHED値が表示されます。

$ grep IOSCHED  /boot/config-5.13.0-27-generic
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=m
CONFIG_IOSCHED_BFQ=m
CONFIG_BFQ_GROUP_IOSCHED=y

また、2つのモジュールがあります/lib/modules

$ ls /lib/modules/5.13.0-27-generic/kernel/block/
bfq.ko  kyber-iosched.ko

モジュールをロードすると、リストにbfqは表示されません。

$ cat /sys/block/sda/queue/scheduler
[mq-deadline] none
$ sudo modprobe kyber-iosched bfq
$ cat /sys/block/sda/queue/scheduler
[mq-deadline] kyber none

これは正しい出力ですか?

答え1

ほとんどの展開カーネルでは他のスケジューラを使用できますが、ロードする必要があります。

sudo modprobe kyber-iosched
sudo modprobe bfq

KyberおよびBFQ I / Oスケジューラがロードされます。block/Kconfig.iosched詳細については)次の項目を選択できる必要があります。

$ cat /sys/block/sda/queue/scheduler
[mq-deadline] kyber bfq none

/lib/modules/$(uname -r)/kernel/blockカーネルファイル()の内容と設定を確認してください。IOSCHED.config/boot/config-$(uname -r)

関連情報