第7章 ハードウェアおよびファームウェアのレイテンシーテストの実行および解釈
hwlatdetect プログラムを使用すると、潜在的なハードウェアプラットフォームがリアルタイム操作の使用に適しているかどうかをテストして検証できます。
7.1. ハードウェアおよびファームウェアのレイテンシーテストの実行 リンクのコピーリンクがクリップボードにコピーされました!
hwlatdetect プログラムを使用すると、ハードウェアアーキテクチャーまたはファームウェアによって発生する遅延をテストできます。
hwlatdetect プログラムの実行中にシステムに負荷をかける必要はありません。このテストは、ハードウェアアーキテクチャーまたはファームウェアによって発生する遅延を検出するためです。hwlatdetect のデフォルト値では、毎秒 0.5 秒間ポーリングを行い、時刻を取得する連続した呼び出しの間に 10 マイクロ秒を超えるギャップがあれば、それを報告します。hwlatdetect は、システムで 最大限保証可能な 最大レイテンシーを返します。したがって、10μs 未満の最大レイテンシー値を要求するアプリケーションがある場合、hwlatdetect がギャップの 1 つを 20μs と報告する場合、システムは 20μs のレイテンシーしか保証できません。
hwlatdetect で システムがアプリケーションのレイテンシー要件を満たせないと表示された場合は、ファームウェアの設定を変更するか、システムベンダーと協力してアプリケーションのレイテンシー要件を満たす新しいファームウェアを入手してください。
前提条件
-
RHEL-RT(RHEL for Real Time) およびrealtime-testsパッケージがインストールされている。 低レイテンシー操作に必要なチューニング手順は、ベンダーのドキュメントを参照してください。
ベンダーのドキュメントには、システムをシステム管理モード (SMM) に移行させるシステム管理割り込み (SMI) を削減または削除するための手順が記載されている場合があります。システムが SMM にある間、ファームウェアを実行し、オペレーティングシステムのコードは実行しません。これは、SMM 実行中に期限切れとなったタイマーは、システムが通常動作に戻るまで待機することを意味します。Linux では SMI をブロックできないため、これにより原因不明のレイテンシーが発生する可能性があります。実際に SMI を取得したことを示す唯一の兆候は、ベンダー固有のパフォーマンスカウンターレジスターにしかありません。
警告致命的なハードウェア障害が発生する可能性があるため、Red Hat は SMI を完全に無効にしないことを強く推奨します。
手順
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の詳細は、お使いのシステムのhwlatdetect のman ページを参照してください。