3.4. システム管理割り込み

システム管理割り込み (SMI) は、レガシーハードウェアデバイスエミュレーションなどの拡張機能を提供するために使用されます。システム管理タスクに使用することもできます。SMI は NMI と似ており、一般的には特殊文字のシグナリングラインを CPU に直接使用し、マスクできない点が挙げられます。
SMI を受信すると、CPU は System Management Mode (SMM)に入ります。このモードでは、SMI の処理に非常に低レベルのハンドラールーチンが実行されます。通常、SMM はシステム管理ファームウェアから直接提供されます。通常は BIOS または EFI です。
SMI は、レガシーのハードウェアエミュレーションを提供するのに最もよく使用されます。一般的な例としては、ディスクドライブをエミュレートする方法が挙げられます。システムにディスクが接続されていない場合は、代わりに仮想化ネットワーク管理エミュレーションを使用できます。オペレーティングシステムがディスクへのアクセスを試みると、SMI がトリガーされ、ハンドラーは代わりにエミュレートされたデバイスでオペレーティングシステムを提供します。その後、オペレーティングシステムはエミュレーションをレガシーデバイス自体のように処理します。
Red Hat Enterprise Linux for Real Time は、オペレーティングシステムを直接起動せずに行われるため、SMI の悪影響を受ける可能性があります。適切に記述されていない SMI 処理ルーチンは、CPU 時間をミリ秒単位で消費し、必要な場合はオペレーティングシステムがハンドラーをプリエンプションできなくなります。このような状況では、調整され、高度に応答するシステムで、定期的なレイテンシーが発生します。ただし、ベンダーは SMI ハンドラーを使用して CPU 温度およびステンシーを制御することができるため、これらを無効にすることはできません。代わりに、問題のベンダーに通知することが推奨されます。

注記

Red Hat Enterprise Linux for Real Time システムで SMI を分離するには、rt-tests パッケージで利用可能な hwlatdetect ユーティリティーを使用します。このユーティリティーは、CPU が SMI 処理ルーチンによって引き起こされた期間を測定するように設計されています。