Interrupt moderation
To reduce the number of interrupts, many network interface cards (NICs) use interrupt moderation. With interrupt moderation, the NIC hardware doesn't generate an interrupt immediately after it receives a packet. Instead, the hardware waits for more packets to arrive, or for a time-out to expire, before generating an interrupt. The hardware vendor specifies the maximum number of packets, time-out interval, or other interrupt moderation algorithm.
The roundtrip time for a packet is one of the most commonly used measures to determine the network bandwidth between two endpoints. However, when interrupt moderation is enabled, receiving a packet doesn't generate an immediate interrupt and therefore the perceived roundtrip time for a particular packet becomes larger than the average time. To allow accurate measurement of roundtrip time for a packet, NDIS provides the ability to disable and enable interrupt moderation on demand.
All NDIS 6.0 and later miniport drivers must support the OID_GEN_INTERRUPT_MODERATION OID. If a miniport driver doesn't support interrupt moderation, the driver must specify NdisInterruptModerationNotSupported
in the InterruptModeration
member of the NDIS_INTERRUPT_MODERATION_PARAMETERS structure.
NDIS 6.0 and later miniport drivers must support both the OID_GEN_INTERRUPT_MODERATION OID set and query requests. The set request directs the miniport driver to enable or disable interrupt moderation and the query request reports the current state of interrupt moderation.
A miniport driver that supports interrupt moderation should turn on this capability by default unless the InterruptModeration
standard keyword in the registry disables it. For more information about the standard keywords, see Standardized INF Keywords for Network Devices.