割り込み節度
割り込みの数を減らすために、多くのネットワーク インターフェイス カード (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 キーワード」を参照してください。