Dynamically-tuned interrupt moderation
First Claim
1. Apparatus for communications, comprising:
- a central processing unit (CPU);
a system memory; and
a network interface controller (NIC), which is configured to receive incoming data packets from a network, to post the received data packets in a designated queue for delivery to the CPU, and to issue interrupts to the CPU in response to the incoming data packets at a rate determined, for the designated queue, in accordance with an interrupt moderation parameter that is set for the queue,wherein the CPU is configured, during each period in a succession of monitoring periods, to measure for the designated queue a current throughput of the incoming data packets and a current rate of interrupts during the period, to make a first comparison between the current measured throughput and the throughput measured during a preceding period in the succession and a second comparison between the current rate of interrupts and the rate of interrupts measured during the preceding period in the succession, and to select and apply an update to the interrupt moderation parameter responsively to the first and second comparisons.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatus for communications includes a CPU, a system memory, and a network interface controller (NIC), which is configured to receive incoming data packets from a network, to post the received data packets in a designated queue for delivery to the CPU. The NIC issues interrupts to the CPU in response to the incoming data packets at a rate determined, for the designated queue, in accordance with an interrupt moderation parameter that is set for the queue. During each of a succession of monitoring periods, the CPU measures for the designated queue a current throughput of the incoming data packets and a current rate of interrupts, makes a comparison between the current measured throughput and rate of interrupts to the throughput and rate of interrupts that were measured during a preceding period in the succession, and selects and applies an update to the interrupt moderation parameter responsively to the comparison.
30 Citations
19 Claims
-
1. Apparatus for communications, comprising:
-
a central processing unit (CPU); a system memory; and a network interface controller (NIC), which is configured to receive incoming data packets from a network, to post the received data packets in a designated queue for delivery to the CPU, and to issue interrupts to the CPU in response to the incoming data packets at a rate determined, for the designated queue, in accordance with an interrupt moderation parameter that is set for the queue, wherein the CPU is configured, during each period in a succession of monitoring periods, to measure for the designated queue a current throughput of the incoming data packets and a current rate of interrupts during the period, to make a first comparison between the current measured throughput and the throughput measured during a preceding period in the succession and a second comparison between the current rate of interrupts and the rate of interrupts measured during the preceding period in the succession, and to select and apply an update to the interrupt moderation parameter responsively to the first and second comparisons. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for communications, comprising:
-
receiving in a network interface controller (NIC) of a host computer incoming data packets from a network; posting the received data packets in a designated queue for delivery to a CPU; issuing interrupts to the CPU in response to the incoming data packets at a rate determined, for the designated queue, in accordance with an interrupt moderation parameter that is set for the queue; during each period in a succession of monitoring periods, measuring for the designated queue a current throughput of the incoming data packets and a current rate of interrupts during the period; making a first comparison between the current measured throughput and the throughput measured during a preceding period in the succession and a second comparison between the current rate of interrupts and the rate of interrupts measured during the preceding period in the succession; and selecting and applying an update to the interrupt moderation parameter responsively to the first and second comparisons. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer software product, comprising a non-transitory computer-readable medium in which program instructions are stored for execution on a computer that includes a CPU and a network interface controller (NIC), which is configured to receive incoming data packets from a network, to post the received data packets in a designated queue for delivery to the CPU, and to issue interrupts to the CPU in response to the incoming data packets at a rate determined, for the designated queue, in accordance with an interrupt moderation parameter that is set for the queue,
wherein the instructions, when read by the computer, cause the computer to measure for the designated queue, during each period in a succession of monitoring periods, a current throughput of the incoming data packets and a current rate of interrupts during the period, to make a first comparison between the current measured throughput and the throughput measured during a preceding period in the succession and a second comparison between the current rate of interrupts and the rate of interrupts measured during the preceding period in the succession, and to select and apply an update to the interrupt moderation parameter responsively to the first and second comparisons.
Specification