Pass-through network interface controller configured to support latency sensitive virtual machines

US9552216B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9552216-B2
Application numberUS-201414468138-A
CountryUS
Kind codeB2
Filing dateAug 25, 2014
Priority dateAug 26, 2013
Publication dateJan 24, 2017
Grant dateJan 24, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

We 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. The method of claim 1 , wherein the physical NIC is configured to operate in a passthrough mode that enables transmission of packets between the physical NIC and a virtual machine, wherein the packets are not forwarded between the physical NIC and the virtual machine by the hypervisor. 3. The method of claim 2 , wherein the physical NIC includes a plurality of ports, each port configured to receive packets corresponding to one of the virtual machines. 4. The method of claim 1 , further comprising: after determining, by the hypervisor, whether the virtual machine has exclusive affinity to a physical CPU, wherein the determining comprises: reading an exclusive affinity indicator for the virtual machine; and determining whether the exclusive affinity indicator is a predetermined value, programming an interrupt controller based on the determining. 5. The method of claim 4 , wherein, if the virtual machine has exclusive affinity, then the forwarding of the interrupt comprises: determining, by the interrupt controller, a first physical CPU, wherein a virtual CPU of the virtual machine has exclusive affinity to the first physical CPU; and posting, by the interrupt controller, the interrupt to the first physical CPU. 6. The method of claim 4 , further comprising, if the virtual machine does not have exclusive affinity, then posting the interrupt, by the interrupt controller, to a second physical CPU that is different from the first physical CPU. 7. The method of claim 6 , wherein no virtual CPU has exclusive affinity to the second physical CPU. 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. 9. The computer-readable medium of claim 8 , wherein the physical NIC is configured to operate in a passthrough mode that enables transmission of packets between the physical NIC and a virtual machine, wherein the packets are not forwarded between the physical NIC and the virtual machine by the hypervisor. 10. The computer-readable medium of claim 9 , wherein the physical NIC includes a plurality of ports, each port configured to receive packets corresponding to one of the virtual machines. 11. The computer-readable medium of claim 8 , wherein the method further comprises: after determining, by the hypervisor, whether the virtual machine has exclusive affinity to a physical CPU, wherein the determining comprises: reading an exclusive affinity indicator for the virtual machine; and determining whether the exclusive affinity indicator is a predetermined value, programming an interrupt controller based on the determining. 12. The computer-readable medium of claim 11 , wherein, if the virtual machine has exclusive affinity, then said forwarding of the interrupt comprises: determining, by the interrupt controller, a first physical CPU, wherein a virtual CPU of the virtual machine has exclusive affinity to the first physical CPU; and posting, by the interrupt controller, the interrupt to the first physical CPU. 13. The computer-readable medium of claim 11 , further comprising, if the virtual machine does not have exclusive affinity, then posting the interrupt, by the interrupt controller, to a second physical CPU that is different from the first physical CPU. 14. The computer-readable medium of claim 13 , wherein no virtual CPU has exclusive affinity to the second physical CPU. 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. 16. The system of claim 15 , wherein the physical NIC is configured to operate in a passthrough mode that enables transmission of packets between the physical NIC and a virtual machine, wherein the packets are not forwarded between the physical NIC and the virtual machine by the hypervisor. 17. The system of claim 16 , wherein the physical NIC includes a plurality of ports, each port configured to receive packets corresponding to one of the virtual machines. 18. The system of claim 15 , wherein the method further comprises: after determining, by the hypervisor, whether the virtual machine has exclusive affinity to a physical CPU, wherein the determining comprises: reading an exclusive affinity indicator for the virtual machine; and determining whether the exclusive affinity indicator is a predetermined value, programming an interrupt controller based on the determining. 19. The system of claim 18 , wherein, if the virtual machine has exclusive affinity, then said forwarding of the interrupt comprises: determining, by the interrupt controller, a first physical CPU to which a virtual CPU of the virtual machine has exclusive affinity; and posting, by the interrupt controller, the interrupt to the first physical CPU. 20. The system of claim 18 , wherein the method further comprises, if the virtual machine does not have exclusive affini

Assignees

Inventors

Classifications

  • Starting, stopping, suspending or resuming virtual machine instances · CPC title

  • Threshold monitoring · CPC title

  • by interrupt, e.g. masked · CPC title

  • using interrupt (G06F13/32 takes precedence) · CPC title

  • Real time traffic · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9552216B2 cover?
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 processi…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 24 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).