23.5. 割り込み要求の概要
割り込み要求 (IRQ) は、ハードウェアからプロセッサーに送信される、即時の対応を要求するシグナルです。システム内の各デバイスには 1 つ以上の IRQ 番号が割り当てられます。これにより固有の割り込みを送信できるようになります。割り込みが有効な場合、プロセッサーは割り込み要求を受信すると、割り込み要求に対応するために、現在のアプリケーションスレッドの実行を直ちに一時停止します。
割り込みにより通常の動作が停止するため、割り込み頻度が高いとシステムパフォーマンスが著しく低下する可能性があります。割り込みアフィニティーを設定するか、優先度の低い割り込みを一括して送信する (複数の割り込みをまとめる) ことによって、割り込みにかかる時間を短縮できます。
割り込み要求には、smp_affinity という関連するアフィニティープロパティーがあります。これは、割り込み要求を処理するプロセッサーを定義するものです。アプリケーションのパフォーマンスを向上させ、特定の割り込みスレッドとアプリケーションスレッドがキャッシュラインを共有できるように、次の改善策を実施できます。
- 割り込みアフィニティーを割り当てる。
- 同じプロセッサーまたは同じコア上のプロセッサーへのプロセスアフィニティー。
割り込みステアリングに対応するシステムでは、割り込み要求の smp_affinity プロパティーを変更するとハードウェアが設定され、カーネルを介入することなくハードウェアレベルで特定のプロセッサーに割り込みを処理させる決定が行われるようになります。