Method for improved virtual adapter performance using multiple virtual interrupts
OwnerBaltazar DeLeon, Herman Dierks +1inventors
InventorsBaltazar DeLeon, Herman Dierks, Kiet Lam
Life of this patent
Estimating the term…
Abstract
The present invention provides a computer implemented method, apparatus, and computer usable program code for processing multiple interrupts for multiple packets concurrently. First, data packets are assigned one of a set of interrupt queues for a virtual adapter in response to detecting the data packets. Each of the interrupt queues is processed by one of a set of interrupt threads for executing an interrupt handler. Next, an interrupt is dispatched for each of the interrupt queues receiving the data packets. The data packets in the interrupt queues are concurrently processed by one of the set of interrupt threads.
Claims20
A computer implemented method for processing multiple interrupts for multiple packets concurrently, the computer implemented method comprising:
- responsive to detecting a plurality of data packets for a virtual adapter, assigning the plurality of data packets to a set of interrupt queues for the virtual adapter, wherein each of the set of interrupt queues is processed by one of a set of interrupt threads for executing an interrupt handler;
- and
- dispatching an interrupt for each of the set of interrupt queues receiving the plurality of data packets, wherein the plurality of data packets in each of the set of interrupt queues is concurrently processed by each of the set of interrupt threads.
An apparatus comprising:
- a set of processors for running at least one operating system;
- a storage operably connected to the processor, wherein the storage defines a hypervisor, wherein the storage is divided into at least one partition that operates the at least one operating system, wherein the partition defines a virtual adapter, a set of interrupt queues, wherein the hypervisor sends a plurality of data packets to the set of interrupt queues in response to receiving the data packets for the virtual adapter, wherein the set of interrupt queues are processed by the set of processors, and wherein each of the set of interrupts queues dispatch an interrupt to a processor, wherein the plurality of data packets in the set of interrupt queues are concurrently processed for the virtual adapter.
A computer program product comprising a computer usable medium including computer usable program code processing multiple interrupts for multiple packets concurrently, said computer program product including:
- computer usable program code responsive to detecting a plurality of data packets for a virtual adapter, for assigning the plurality of data packets to a set of interrupt queues for the virtual adapter, wherein each of the set of interrupt queues is processed by one of a set of interrupt threads for executing an interrupt handler;
- and
- computer usable program code for dispatching an interrupt for each of the set of interrupt queues receiving the plurality of data packets, wherein the plurality of data packets in each of the set of interrupt queues is concurrently processed by each of the set of interrupt threads.
Dependencies are inferred from the claim text.