A network interface can receive packets far faster than a processor should handle individual hardware interrupts. If every packet immediately triggered an interrupt, high packet rates could consume substantial CPU time in interrupt handling and context transitions.
Interrupt coalescing changes that pattern. The network adapter waits for several packets, a short timer, or another configured threshold before notifying the CPU. One interrupt can then cover multiple received packets.
The tradeoff is direct: fewer interrupts reduce per-packet CPU overhead, while waiting to form a batch can add latency.
Per-packet interrupts become expensive at high rates
Packet rate, rather than only link bandwidth, determines how often a network adapter has work to report. A stream of small packets can produce many more packet arrivals per second than the same bit rate carried in large frames.
An interrupt forces the processor to react to device activity. The exact path depends on the operating system and driver, but interrupt processing has a cost. Repeating that cost for every received packet can reduce the CPU time available to applications and other kernel work.
Modern network stacks also use mechanisms such as polling to process groups of packets efficiently after an interrupt. Coalescing complements that approach by reducing how often the device initially signals the processor.
The adapter forms notification batches
Receive coalescing commonly uses a timer, a packet count, or both. After packets arrive, the adapter can delay its interrupt until a threshold is reached.
A simplified policy might behave like this:
signal CPU when packet count reaches N
or when timer reaches TThe actual controls vary by adapter and driver. Some hardware exposes separate settings for receive and transmit activity, multiple queues, or traffic classes. Some drivers also support adaptive modes that change moderation according to traffic conditions.
The packets themselves do not need to be merged into one Ethernet frame. Interrupt coalescing concerns device notification timing. Other features, such as receive aggregation in a network stack or adapter, are separate mechanisms even when they pursue similar CPU-efficiency goals.
Larger batches reduce interrupt frequency
Suppose an adapter receives 100,000 packets each second. Signaling once for every packet could require up to 100,000 device notifications per second. If the adapter instead reports groups averaging 20 packets, the notification rate can fall substantially.
The exact reduction is workload-dependent because timers, queue activity, packet bursts, and implementation details affect batch size. Still, the basic benefit remains: more useful packet work can be performed per interrupt.
This can improve CPU efficiency on busy servers, storage networks, virtualized hosts, and systems processing high packet rates. Lower interrupt pressure can also leave more processor capacity for application work.
Waiting for a batch adds latency
A packet that arrives just after a coalescing interval begins may wait before the adapter signals the CPU. That delay can be tiny, but latency-sensitive workloads can still care about it.
Increasing the timer or packet threshold usually favors throughput efficiency over immediate notification. Reducing those values favors prompt packet delivery at the cost of more interrupts.
This tradeoff matters for workloads such as interactive traffic, real-time services, market data processing, or tightly timed distributed systems. Bulk transfers often tolerate a small added delay more easily because sustained throughput and CPU efficiency carry greater weight.
Coalescing delay is only one part of end-to-end latency. Queueing, scheduling, protocol processing, application behavior, and the network path can contribute much larger delays.
Receive and transmit moderation are distinct
Receive-side coalescing controls notifications associated with incoming packet processing. Transmit-side moderation can reduce interrupts generated when the adapter reports completed transmissions.
The performance effects differ. Receive moderation influences how quickly newly arrived packets become visible to the host stack. Transmit completion moderation affects how frequently the host receives completion information for packets it already handed to the adapter.
A system can therefore use different moderation policies for the two directions.
Multiple queues spread packet work across CPUs
High-performance adapters commonly provide multiple receive and transmit queues. Queue selection can distribute traffic across processor cores, reducing contention around a single processing path.
Interrupt coalescing can operate alongside this queue distribution. Each queue may have its own interrupt vector or moderation behavior, depending on hardware and driver support.
More queues do not eliminate interrupt overhead. They distribute processing capacity. Coalescing still controls how frequently queue activity causes processor notification.
Adaptive moderation changes the balance with traffic
A fixed coalescing setting cannot suit every workload equally well. A low packet rate may benefit from prompt interrupts, while a sustained packet flood may benefit from larger batches.
Adaptive interrupt moderation attempts to shift the policy according to observed traffic. Implementations differ, so the exact algorithm and available controls depend on the network adapter and driver.
Adaptive behavior can provide a practical default for general-purpose systems, but specialized workloads may still use fixed settings after measurement. A configuration that improves a bulk throughput benchmark can hurt tail latency, and a configuration optimized for minimum latency can raise CPU consumption sharply.
Measurement should include latency and CPU cost
Interrupt rate alone is not enough to judge a setting. A lower rate can indicate efficient batching, but excessive moderation can also delay packet processing.
Useful measurements include CPU utilization, interrupts per second, packet rate, throughput, average latency, and high-percentile latency. Tests should resemble the production packet sizes, connection counts, traffic direction, and burst patterns.
Hardware counters and operating-system tools can also reveal queue drops or receive backlog pressure. If packets are being dropped because the host cannot process them quickly enough, reducing moderation solely to cut latency can make CPU pressure worse.
Coalescing trades notification speed for processing efficiency
Interrupt coalescing does not increase the raw link rate. It changes how often a network adapter asks the CPU to process completed device work.
At high packet rates, batching notifications can cut repeated interrupt overhead and improve CPU efficiency. The cost is a small waiting interval for some packets before host processing begins.
The useful setting depends on the workload. Bulk traffic often benefits from stronger moderation, while latency-sensitive traffic may justify more frequent interrupts. The mechanism is a controlled exchange between notification frequency and packet-processing delay.