VIRTUAL MACHINE SYSTEM AND METHOD FOR CONTROLLING INTERRUPT THEREOF
First Claim
1. A control method for a virtual machine for executing a virtualization module for providing a virtual machine operating on a physical machine,the physical machine comprising:
- a plurality of physical CPUs; and
a physical memory,the virtualization module comprising a predetermined emulator, the virtualization module operating an OS on the virtual machine,the plurality of physical CPUs being capable of setting an interrupt handler executed upon reception of an interrupt from the virtual machine,the control method comprising;
executing, on at least one first physical CPU out of the plurality of physical CPUs, the OS upon the reception of the interrupt; and
executing, on at least one second physical CPU out of the plurality of physical CPUs, the predetermined emulator upon the reception of the interrupt.
1 Assignment
0 Petitions
Accused Products
Abstract
A VMM disables an interrupt interception flag on at least one CPU to execute, upon reception of an interrupt, an interrupt handler code of an OS, and enables the interrupt interception flag on the at least one CPU to execute, upon the reception of the interrupt, an emulator in the VMM. When, to a virtual machine, an I/O device is assigned in a dedicated form, and when the CPU is assigned while the interrupt interception is disabled, a destination of the interrupt from the physical I/O device is set to the corresponding CPU on which the interrupt interception is disabled. When, to the virtual machine, the I/O device is assigned in a shared form, or when the CPU is assigned while the interrupt interception is disabled, the destination of the interrupt from the physical I/O device is set to the corresponding CPU on which the interrupt interception is enabled.
71 Citations
20 Claims
-
1. A control method for a virtual machine for executing a virtualization module for providing a virtual machine operating on a physical machine,
the physical machine comprising: -
a plurality of physical CPUs; and a physical memory, the virtualization module comprising a predetermined emulator, the virtualization module operating an OS on the virtual machine, the plurality of physical CPUs being capable of setting an interrupt handler executed upon reception of an interrupt from the virtual machine, the control method comprising; executing, on at least one first physical CPU out of the plurality of physical CPUs, the OS upon the reception of the interrupt; and executing, on at least one second physical CPU out of the plurality of physical CPUs, the predetermined emulator upon the reception of the interrupt. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A machine-readable medium storing a control program for a virtual machine for providing, on a physical machine comprising a plurality of physical CPUs, a physical memory, and at least one physical I/O device, a virtual machine comprising a predetermined emulator, and operating an OS on the virtual machine,
the physical machine further comprising a module for defining one of the plurality of physical CPUs which is a destination of an interrupt from the at least one physical I/O device, the plurality of physical CPUs being capable of setting an interrupt handler executed upon reception of the interrupt, the control program controlling the physical machine to execute the procedures of: -
providing the virtual machine with at least one virtual CPU and at least one virtual I/O device; assigning, to the at least one virtual I/O device constituting the virtual machine, the at least one physical I/O device one of in a first form in which the at least one physical I/O device is directly used by the single virtual machine, and in a second form in which the at least one physical I/O device is indirectly used via the predetermined emulator by a plurality of the virtual machines; assigning, to the at least one virtual CPU constituting the virtual machine, the one of the plurality of physical. CPUs one of in a third form in which the one of the plurality of physical CPUs executes the OS upon the reception of the interrupt, and in a fourth form in which the one of the plurality of physical CPUs executes the predetermined emulator upon the reception of the interrupt; setting, when a form of the assigning the one of the plurality of physical CPUs to the at least one virtual CPU is the third form in which the one of the plurality of physical CPUs executes the OS upon the reception of the interrupt, the interrupt handler executed upon the reception of the interrupt to the OS;
setting, when the form of the assigning the one of the plurality of physical CPUs to the at least one virtual CPU is the fourth form, the interrupt handler executed upon the reception of the interrupt to the predetermined emulator;setting, when the form of the assigning the at least one physical I/O device to the at least one virtual I/O device is the second form, the destination of the interrupt from the at least one physical I/O device to the one of the plurality of physical CPUs assigned in the fourth form; setting, when the form of the assigning the at least one physical I/O device to the at least one virtual I/O device is the first form, and when, to the at least one virtual CPU which is the destination of the interrupt from the at least one virtual I/O device, the one of the plurality of physical CPUs is assigned in the third form, the destination of the interrupt from the at least one physical I/O device to the one of the plurality of physical CPUs, and setting, when, to the at least one virtual I/O device, the at least one physical I/O device is assigned in the first form, and when, to the at least one virtual CPU which is the destination of the interrupt from the at least one virtual I/O device, the one of the plurality of physical CPUs is assigned in the fourth form, the destination of the interrupt from the at least one physical I/O device to the one of the plurality of physical CPUs assigned in the fourth form. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computer system, comprising:
-
a plurality of physical CPUs; a memory; and at least one physical I/O device, the computer device being capable of setting a destination of an interrupt from the at least one physical I/O device, wherein; the at least one physical I/O device comprises; an interrupt destination storage module for storing an identifier of one of the plurality of physical CPUs to which the interrupt is to be delivered; and a virtualization module for providing a virtual machine for generating a virtual CPU and a virtual I/O device, and operating at least one OS; the virtualization module comprises; an emulator for taking over a predetermined process; first information holding, as an assignment form of the one of the plurality of physical CPUs to the virtual CPU, for each of the plurality of physical CPUs, one of a third form in which an OS code is executed upon reception of the interrupt, and a fourth form in which the emulator is executed upon reception of an interrupt; second information holding a correspondence between the virtual CPU and the each of the plurality of physical CPUs; third information holding, as an assignment form of the at least one physical I/O device, one of a first form in which the at least one physical I/O device is directly used by the single virtual machine, and a second form in which the at least one physical I/O device is indirectly used via the emulator by a plurality of the virtual machines; and fourth information holding a correspondence between the virtual I/O device and the at least one physical I/O device; and the emulator is configured to; set, when the at least one physical I/O device is assigned in the second form, the destination of the interrupt from the at least one physical I/O device to the one of the plurality of physical CPUs assigned in the fourth form; set, when, to the virtual I/O device, the at least one physical I/O device is assigned in the first form, and when, to the virtual CPU which is the destination of the interrupt from the virtual I/O device, the one of the plurality of physical CPUs is assigned in the third form, the destination of the interrupt from the at least one physical I/O device to the one of the plurality of physical. CPUs, and set, when, to the virtual I/O device, the at least one physical I/O device is assigned in the first form, and when, to the virtual CPU which is the destination of the interrupt from the virtual I/O device, the one of the plurality of physical CPUs is assigned in the fourth form, the destination of the interrupt from the at least one physical I/O device to the one of the plurality of physical CPUs assigned in the fourth form. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification