17.2. RHEL for Real Time カーネルに対する注目すべき変更点
TPM 1.2 セキュア暗号プロセッサーは、RHEL 9 ではサポート対象外になる
TPM (Trusted Platform Module) セキュア暗号プロセッサーバージョン 1.2 が削除され、RHEL 9 以降のバージョンではサポートされなくなりました。TPM 2.0 は、TPM 1.2 に代わるもので、TPM 1.2 よりも改善されています。TPM 2.0 は下位互換性がありません。
TPM 1.2 に対応する必要があるアプリケーションの場合、Red Hat では RHEL 8 を使用することが推奨されます。
ARM、AMD、および Intel 64 ビットアーキテクチャーで動的プリエンプティブスケジューリングが有効になりました
Dynamic Scheduling を使用すると、コンパイル時ではなく、起動時または実行時にカーネルのプリエンプションモードを変更できます。動的プリエンプティブ処理を使用すると、デフォルトのプリエンプションモデルをオーバーライドして、スケジューリングレイテンシーを改善できます。
/sys/kernel/debug/sched/preempt
ファイルには、実行時の変更をサポートする現在の設定が含まれています。DYNAMIC_PREEMPT
オプションを使用して、起動時に preempt=
変数を none
、voluntary
または full
のいずれかに設定します。デフォルトは voluntary
プリエンプションです。
新しいコマンドラインインターフェイスが tuna
ツールに追加されました。
tuna
ツールは、より標準化されたコマンドとオプションのメニューを備えたコマンドラインインターフェイスを提供しするようになり、使用と保守が容易になりました。新しいコマンドラインインターフェイスは、argparse
解析モジュールをベースとしています。この機能強化により、次のタスクを実行できるようになります。
- アプリケーションおよびカーネルスレッドの属性を変更します。
- 名前または番号によって割り込み要求 (IRQ) を操作します。
- プロセス識別子を使用してタスクまたはスレッドを操作します。
- CPU またはソケット番号を使用して、CPU と CPU セットを指定します。
tuna -h
コマンドを使用すると、コマンドライン引数とそれに対応するオプションを出力できます。各コマンドにはオプションの引数があり、tuna [command] -h
コマンドで表示できます。
リアルタイムカーネルで使用できるランタイム検証メカニズム
ランタイム検証は、システムイベントとその正式な仕様における動作等価性をチェックするための軽量かつ厳密な方法です。ランタイム検証では、tracepoints
に接続するカーネルに統合されたモニターを使用します。状態が定義された仕様から逸脱した場合、ランタイム検証プログラムはリアクターをアクティブにして、ログファイルにイベントをキャプチャーしたり、極端なケースで障害伝播を回避するためにシステムをシャットダウンしたりするなどの対応を、通知または可能にします。
詳細は、低レイテンシー操作のための RHEL 9 for Real Time の最適化 を参照してください。
RHEL 9 では CONFIG_RT_GROUP_SCHED
が無効になっています
RHEL 8 では、cgroups v1
がデフォルトのコントロールグループであり、/sys/fs/cgroup/cpu,cpuacct/cpu.rt_period_us
や /sys/fs/cgroup/cpu,cpuacct/cpu.rt_runtime_us
などのコントロールファイルを使用して、cgroup
ごとにリアルタイムタスクの CPU 帯域幅を指定できました。しかし、RHEL 9 では、cgroups v2
がデフォルトのコントロールグループであり、cgroups v2
CPU コントローラーに同等の制御ファイルが存在しないため、CONFIG_RT_GROUP_SCHED
カーネル設定オプションが無効になっています。/proc/sys/kernel/sched_rt_runtime_us
および /proc/sys/kernel/sched_rt_period_us
グローバル設定は、引き続き使用可能であり、CPU 時間の枯渇を防ぐために stalld
バックグラウンドプロセスで使用できます。