Interrupt coalescing for outstanding input/output completions
AssigneeVMware, Inc.
InventorsIrfan Ahmad, Maxime Austruy, Mallik Mahalingam
Life of this patent
Estimating the term…
Abstract
In a computer system, a method of controlling coalescence of interrupts includes dynamically basing a current level of interrupt coalescing upon a determination of outstanding input/output (I/O) commands for which corresponding I/O completions have not been received. Deliveries of interrupts are executed on the basis of the current level and in an absence of enabling timing-triggered delivery of an interrupt.
Claims21
In a computer system, a method of controlling coalescence of interrupts which correspond to input/output (I/O) processing, the method comprising:
- dynamically basing a current rate of interrupt coalescing upon a determination of outstanding I/O commands for which corresponding I/O completions are not received;
- receiving an I/O completion;
- determining if an enabling timing-triggered delivery is triggered for the I/O completion;
- when the enabling timing-triggered delivery is not triggered, coalescing an interrupt for the I/O completion on a basis of the current rate of interrupt coalescing, wherein the current rate is based on a ratio of delivered interrupts to received I/O completions;
- and
- when the enabling timing-triggered delivery of the I/O completion is triggered, delivering the interrupt for the I/O completion.
In a computer system, a method of selectively generating interrupts for detected input/output (I/O) completions comprising:
- in response to each detection of an I/O completion:
- (a) determining whether a number of outstanding I/O commands for which corresponding I/O completions have not been received exceeds a first threshold;
- (b) as a response to a determination that the number of outstanding I/O commands does not exceed the first threshold, generating an interrupt for the I/O completion;
- and
- (c) as a response to a determination that the number of outstanding I/O commands exceeds the first threshold, basing a determination as to whether to generate an interrupt on a coalescing rate indicative of a relationship between a measure of previously generated interrupts and a measure of previously detected I/O completions, such that the coalescing rate implements selectivity in generating interrupts at a ratio of generated interrupts to I/O completions detected.
Computer programming embedded in a non-transitory computer-readable storage medium, the computer programming being executable to perform a method of controlling coalescence of interrupts which correspond to input/output (I/O) processing, the method comprising:
- dynamically basing a current rate of interrupt coalescing upon a determination of outstanding I/O commands for which corresponding I/O completions are not received;
- receiving an I/O completion;
- determining if an enabling timing-triggered delivery is triggered for the I/O completion;
- when the enabling timing-triggered delivery is not triggered, coalescing an interrupt for the I/O completion on a basis of the current rate of interrupt coalescing, wherein the current rate is based on a ratio of delivered interrupts to received I/O completions;
- and when the enabling timing-triggered delivery of the I/O completion is triggered, delivering the interrupt for the I/O completion.
Dependencies are inferred from the claim text.