第6章 ハードウェアおよびファームウェアのレイテンシーテストの実行および解釈
hwlatdetect
プログラムを使用すると、潜在的なハードウェアプラットフォームがリアルタイム操作の使用に適しているかどうかをテストして検証できます。
前提条件
-
RHEL-RT
(RHEL for Real Time) パッケージおよびrt-tests
パッケージがインストールされている。 低レイテンシー操作に必要なチューニング手順については、ベンダーのドキュメントを参照してください。
ベンダーのドキュメントは、システムを System Management Mode (SMM) に移行する System Management Interrupts (SMI) を減らしたり、削除したりする手順を提供できます。システムが SMM にある間、ファームウェアを実行し、オペレーティングシステムのコードは実行しません。これは、SMM にある間にタイプアップするすべてのタイマーが、システムが通常の操作に戻るまで待機することを意味します。Linux では SMI をブロックできないため、これにより原因不明のレイテンシーが発生する可能性があります。実際に SMI を取得したことを示す唯一の兆候は、ベンダー固有のパフォーマンスカウンターレジスターにしかありません。
警告致命的なハードウェア障害が発生する可能性があるため、Red Hat は SMI を完全に無効にしないことを強く推奨します。
6.1. ハードウェアおよびファームウェアのレイテンシーテストの実行
テストは、ハードウェアアーキテクチャー、またはBIOS もしくは EFI ファームウェアに起因する遅延を検出するため、hwlatdetect
プログラムの実行中にシステムに負荷を掛ける必要はありません。hwlatdetect
のデフォルト値では、毎秒 0.5 秒間ポーリングを行い、時刻を取得する連続した呼び出しの間に 10 マイクロ秒を超えるギャップがあれば、それを報告します。hwlatdetect
は、システムで 最大限保証可能な 最大レイテンシーを返します。したがって、10μs 未満の最大レイテンシー値を要求するアプリケーションがある場合、hwlatdetect
がギャップの 1 つを 20μs と報告する場合、システムは 20μs のレイテンシーしか保証できません。
hwlatdetect
が、システムがアプリケーションのレイテンシー要件を満たせないことを示した場合は、BIOS 設定を変更するか、システムベンダーと協力して、アプリケーションのレイテンシー要件を満たす新しいファームウェアを入手してみてください。
前提条件
-
RHEL-RT
パッケージおよびrt-tests
パッケージがインストールされている。
手順
hwlatdetect
を実行し、テスト期間を秒単位で指定します。hwlatdetect
は、クロックソースをポーリングし、原因不明のギャップを探すことにより、ハードウェアおよびファームウェアに起因するレイテンシーを探します。# hwlatdetect --duration=60s hwlatdetect: test duration 60 seconds detector: tracer parameters: Latency threshold: 10us Sample window: 1000000us Sample width: 500000us Non-sampling period: 500000us Output File: None Starting test test finished Max Latency: Below threshold Samples recorded: 0 Samples exceeding threshold: 0
関連情報
-
hwlatdetect
の man ページ - ハードウェアおよびファームウェアのレイテンシーテストの解釈