正しいブロックデバイスタイプによって異なる場合、各デバイスタイプのデフォルトI / Oスケジューラは何ですか?
背景情報
Fedora 29には、4.19シリーズのLinuxカーネルが含まれています。 (技術的には、初期バージョンは4.18シリーズカーネルを使用していましたが、4.19カーネルは一般的なソフトウェアアップデートでインストールされました。)
バージョン4.19以降、メインラインカーネルはCONFIG_SCSI_MQ_DEFAULT
。default y
つまり、Fedora関連のパッチを適用せずにLinusからリリースされたツリーを使用すれば得られるのです。 SCSIおよびSATAデバイスは、デフォルトで新しいマルチキューブロック層を使用します。 (LinuxはSATAデバイスをSCSIとして扱い、SAT規格)。
これは古いコードを削除するための一時的なステップです。これで、すべての古いコードが削除されます。バージョンから4.215.0、4.20以降の次のカーネルバージョンです。
新しいMQシステムでは、ブロックデバイスは新しいI / Oスケジューラセットを使用します。これにはnone
、、、mq-deadline
およびが含まれますbfq
。メインライン4.19カーネルでは、デフォルトのスケジューラ設定は次のとおりです。
代わりに、BFQをデフォルトとして使用することが提案されましたmq-deadline
。この提案はバージョン 4.19 では許可されていません。
既存のSQブロック階層の場合、デフォルトのスケジューラはBFQに最も近いCFQです。
=>カーネルのデフォルトI / Oスケジューラは、SCSI / SATA、MMC / eMMCなどのデバイスタイプによって異なります。
CFQは、ある程度の「プロセス性」およびI / O優先順位の指定をサポートしようとします(ionice
)。それはさまざまな複雑さで表示されます。 BFQはより複雑です。ionice
特定のI / Oを自動的に分類し、優先順位を指定するヒューリスティックもサポートします。 deadline
スタイルディスパッチがより簡単です。ionice
まったくサポートされていません。
=> Linuxネイティブカーネル設定、SATAデバイス、およびその他のユーザースペースポリシー(ルールなしudev
)を使用しているユーザーは、4.19で動作の変更を確認できます。一度効果があったのはionice
もう機能しません。
ただし、Fedoraには特定のカーネルパッチ/構成が含まれています。 Fedoraには、基本ルールなどのユーザースペースポリシーも含まれていますudev
。
Fedora Workstation 29は、基本I/Oスケジューラとして何を使用しますか?正しいブロックデバイスタイプによって異なる場合、各デバイスタイプのデフォルトI / Oスケジューラは何ですか?
ベストアンサー1
Fedora 29が付属2016年4月18日コア。 CFQがデフォルト値のようです。
$ grep CONFIG_DEFAULT_IOSCHED= /boot/config-4.18.16-300.fc29.x86_64
CONFIG_DEFAULT_IOSCHED="cfq"
$ grep CONFIG_SCSI_MQ_DEFAULT /boot/config-4.18.16-300.fc29.x86_64
# CONFIG_SCSI_MQ_DEFAULT is not set
$ cat /sys/block/sda/queue/scheduler
noop deadline [cfq]
この記事を書く時点(2018年11月24日)基準で、4.19.3F29のアップデートとして利用可能です。ただし、設定オプションは変更されていないようです。
4.20.0(RC1)は「Rawide」開発ツリーにあります。対応する開発ツリーカーネルでは、CFQはまだデフォルトで、CONFIG_SCSI_MQ_DEFAULT
まだ設定されていません。 Fedora カーネルのリストは次の場所にあります。https://lists.fedoraproject.org/archives/list/[Eメール保護]/これが変わるべきかを議論するのに最適な場所です。