Interrupt Management for a Hypervisor
AssigneeMicrosoft Technology Licensing, LLC
InventorsAditya BHANDARI, Bruce J. SHERWIN, JR., Xin David ZHANG
Life of this patent
Estimating the term…
Abstract
This disclosure generally relates to enabling a hypervisor of a host machine to provide virtual interrupts to select virtual processors or a set of virtual processors. More specifically, the present disclosure describes how a hypervisor of a host machine may monitor the status of one or more virtual processors that are executing on the host machine and deliver interrupts to the virtual processors based on a number of factors including, but not limited to, a priority of the interrupt, a priority of the virtual processor, a current workload of the virtual processor and so on.
Claims20
A method, comprising:
- monitoring, by a hypervisor of a host machine, a workload of a plurality of virtual processors;
- receiving an interrupt;
- determining, by the hypervisor and based on the workload of each of the plurality of virtual processors, a first virtual processor that can execute the interrupt, wherein the first virtual processor is determined based on a time frame that the first virtual processor can execute the interrupt;
- and
- providing the interrupt to the first virtual processor but not to the other virtual processors in the plurality of virtual processors.
A method, comprising:
- determining a current priority of at least one virtual processor of the plurality of virtual processors;
- receiving an interrupt,
- determining a priority of the interrupt;
- when it is determined that the priority of the interrupt is higher than the priority of the at least one virtual processor, providing the interrupt to the at least one virtual processor;
- when it is determined that the priority of the interrupt is not higher than the priority of the at least one virtual processor, determining whether one or more other virtual processors of the plurality of virtual processors has a lower priority;
- and
- delivering the interrupt to one of the one or more other virtual processors of the plurality of virtual processors that has a lower priority.
A host machine, comprising:
- at least one processor;
- and
- a memory coupled to the at least one processor and storing instructions that, when executed by the at least one processor, perform a method, comprising:
- causing a hypervisor to monitor a workload of each virtual processor in a plurality of virtual processors;
- receiving an interrupt;
- causing the hypervisor to determine which virtual processor of the plurality of virtual processors is to receive the interrupt, wherein the determination is based, at least in part, on the workload of each virtual processor of the plurality of virtual processors, and
- providing the interrupt to the determined virtual processor.
The host machine of 16, further comprising instructions for assigning an identifier to the virtual processor.
Dependencies are inferred from the claim text.