割り込み節度

割り込みの数を減らすために、多くの NIC では 割り込みモデレーションが使用されます。 割り込み節度を使用すると、NIC ハードウェアは、パケットを受信した直後に、割り込みを生成しません。 その代わりに、ハードウェアは、割り込みを生成する前に、追加のパケットが到着するか、タイムアウトが期限切れになるのを待ちます。 ハードウェア ベンダーは、パケットの最大数、タイムアウト間隔、その他の割り込み調停アルゴリズムを指定します。

パケットのラウンドトリップ時間の測定は、2 つのエンドポイント間のネットワーク帯域幅を決定するために最も一般的に使用される手法の 1 つです。 ただし、割り込み節度が有効になっているときは、パケットを受信してもすぐに割り込みは生成されないため、特定のパケットの認識されるラウンドトリップ時間は平均時間よりも長くなります。 パケットのラウンド トリップ時間を正確に測定できるように、NDIS には、必要に応じて割り込みモデレーションを無効または有効にする機能が用意されています。

すべての NDIS 6.0 以降のミニポート ドライバーは、OID_GEN_INTERRUPT_MODERATION OID をサポートする必要があります。 ミニポート ドライバーが割り込みモデレーションをサポートしていない場合、ドライバーは、 NDIS_INTERRUPT_MODERATION_PARAMETERS 構造体の InterruptModerationメンバーで NdisInterruptModerationNotSupported を指定する必要があります。

NDIS 6.0 以降のミニポート ドライバーは、OID_GEN_INTERRUPT_MODERATION OID セットとクエリ要求の両方をサポートする必要があります。 set 要求は、割り込みモデレーションを有効または無効にするようにミニポート ドライバーに指示し、クエリ要求は、割り込みモデレーションの現在の状態を報告します。

割り込みモデレーションをサポートするミニポート ドライバーは、レジストリの InterruptModeration 標準キーワードで無効にしない限り、既定でこの機能をオンにする必要があります。 標準キーワードの詳細については、「ネットワーク デバイスの標準化された INF キーワード」を参照してください。