Pass-through network interface controller configured to support latency sensitive virtual machines
First Claim
1. In a host computer having a plurality of virtual machines executing therein under the control of a hypervisor, the host including a physical network interface controller (NIC), a method of processing interrupts from the physical NIC, the method being performed by the host computer and comprising:
- detecting an interrupt generated by the physical NIC upon reception of a packet by the physical NIC;
determining a virtual machine to which the interrupt corresponds;
determining, by the hypervisor, whether the virtual machine has exclusive affinity to a physical central processing unit (CPU);
if the virtual machine has exclusive affinity to a physical CPU, then forwarding the interrupt to the virtual machine; and
if the virtual machine does not have exclusive affinity to a physical CPU, then invoking a process in the hypervisor to forward the interrupt to the virtual machine.
2 Assignments
0 Petitions
Accused Products
Abstract
A host computer has a plurality of virtual machines executing therein under the control of a hypervisor, where the host also includes a physical network interface controller (NIC). An interrupt controller detects an interrupt generated by the physical NIC, where the interrupt corresponds to a virtual machine. If the virtual machine has exclusive affinity to one or more physical central processing units (CPUs), then the interrupt is forwarded to the virtual machine. If the virtual machine does not have exclusive affinity, then a process in the hypervisor is invoked to forward the interrupt to the virtual machine.
30 Citations
20 Claims
-
1. In a host computer having a plurality of virtual machines executing therein under the control of a hypervisor, the host including a physical network interface controller (NIC), a method of processing interrupts from the physical NIC, the method being performed by the host computer and comprising:
-
detecting an interrupt generated by the physical NIC upon reception of a packet by the physical NIC; determining a virtual machine to which the interrupt corresponds; determining, by the hypervisor, whether the virtual machine has exclusive affinity to a physical central processing unit (CPU); if the virtual machine has exclusive affinity to a physical CPU, then forwarding the interrupt to the virtual machine; and if the virtual machine does not have exclusive affinity to a physical CPU, then invoking a process in the hypervisor to forward the interrupt to the virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium comprising instructions executable by a host computer, the host computer having a plurality of virtual machines executing therein under the control of a hypervisor, and the host including a physical network interface controller (NIC), where the instructions, when executed, cause the host computer to perform a method of processing interrupts from the physical NIC, the method comprising:
-
detecting an interrupt generated by the physical NIC upon reception of a packet by the physical NIC; determining a virtual machine to which the interrupt corresponds; determining, by the hypervisor, whether the virtual machine has exclusive affinity to a physical central processing unit (CPU); if the virtual machine has exclusive affinity to a physical CPU, then forwarding the interrupt to the virtual machine; and if the virtual machine does not have exclusive affinity to a physical CPU, then invoking a process in the hypervisor to forward the interrupt to the virtual machine. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A virtualized computing system, comprising:
-
a host computer, the host computer having a plurality of virtual machines executing therein under the control of a hypervisor; a physical network interface controller (NIC); and an interrupt controller, wherein the hypervisor and interrupt controller are configured to perform a method of processing interrupts from the physical NIC, the method comprising; detecting an interrupt generated by the physical NIC upon reception of a packet by the physical NIC; determining a virtual machine to which the interrupt corresponds; determining, by the hypervisor, whether the virtual machine has exclusive affinity to a physical central processing unit (CPU); if the virtual machine has exclusive affinity to a physical CPU, then forwarding the interrupt to the virtual machine; and if the virtual machine does not have exclusive affinity, then invoking a process in the hypervisor to forward the interrupt to the virtual machine. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification