Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US2016253196A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016253196-A1 |
| Application number | US-201514634164-A |
| Country | US |
| Kind code | A1 |
| Filing date | Feb 27, 2015 |
| Priority date | Feb 27, 2015 |
| Publication date | Sep 1, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Optimized extended context management for virtual machines is disclosed. An example system includes a memory, processor, VM, and kernel, which executes the VM using guest space, stores a guest state in an extended state register, which the VM has access to, receives an instruction, saves the guest state, and determines whether the kernel is configured to handle the process using kernel space. If so, the process is handled using kernel space without using user space, and if not, a user state in the extended state register is restored, the process is handled using user space, an updated user state is stored in the extended state register, the updated user state is saved, and the guest state is restored in the extended state register. Finally, execution of the VM using the guest space is resumed.
Opening claim text (preview).
The invention is claimed as follows: 1 . A system comprising: a memory; one or more processors, in communication with the memory; one or more virtual machines executing on the one or more processors; and a kernel executing on the one or more processors to: execute a virtual machine using a guest space; store a guest state in an extended state register based on the execution of the virtual machine, wherein the virtual machine has access to the extended state register; receive an instruction for handling a process outside of the guest space; save a copy of the guest state in a reserve memory outside the extended state register; determine whether the kernel is configured to handle the process using a kernel space; responsive to determining that the kernel is configured to handle the process using the kernel space: handle the process using the kernel space without using a user space; after handling the process using the kernel space, resume execution of the virtual machine using the guest space; and responsive to determining that the kernel is not configured to handle the process using the kernel space: restore a user state in the extended state register; handle the process using the user space; store an updated user state in the extended state register; save a copy of the updated user state in the reserve memory outside the extended state register; after handling the process using the user space and saving the copy of the updated user state, restore the guest state in the extended state register; after restoring the guest state in the extended state register, resume execution of the virtual machine using the guest space. 2 . The system of claim 1 , wherein the kernel includes a hypervisor and a context switch module. 3 . The system of claim 1 , wherein the kernel includes a kernel-based virtual machine (KVM). 4 . The system of claim 1 , wherein the extended state register includes a floating point unit register (FPU register). 5 . The system of claim 1 , wherein the extended state register includes a vector register. 6 . The system of claim 1 , wherein the extended state register includes an FPU register and a vector register. 7 . The system of claim 1 , wherein the instruction is a virtual machine exit instruction. 8 . The system of claim 1 , wherein the instruction is an interrupt. 9 . The system of claim 1 , wherein the extended state register is not overwritten during the handling of the process using the kernel space. 10 . The system of claim 1 , wherein the reserve memory includes a first memory location for the guest state and a second different memory location for the updated user state. 11 . The system of claim 1 , wherein the kernel further executes to: track the user state and the guest state in the extended state register over a period of time, where the user state and the guest state both relate to a task; stop execution of a different task; receive an instruction to resume handling the task; restore one of the user state of the task and the guest state of the task based on previous usage of the user state and the guest state; determine whether the task is being handled in one of user space and guest space; ensure access to one of the user state and the guest state is enabled; and handle the task with access to the extended state register enabled. 12 . A method comprising: executing a virtual machine using a guest space; storing a guest state in an extended state register based on the execution of the virtual machine, wherein the virtual machine has access to the extended state register; receiving an instruction for handling a process outside of the guest space; saving a copy of the guest state in a reserve memory outside the extended state register; determining whether a kernel is configured to handle the process using a kernel space; responsive to determining that the kernel is configured to handle the process using the kernel space: handling the process using the kernel space without using a user space; after handling the process using the kernel space, resuming execution of the virtual machine using the guest space; and responsive to determining that the kernel is not configured to handle the process using the kernel space: restoring a user state in the extended state register; handling the process using the user space; storing an updated user state in the extended state register; saving a copy of the updated user state in the reserve memory outside the extended state register; after handling the process using the user space and saving the copy of the updated user state, restoring the guest state in the extended state register; after restoring the guest state in the extended state register, resuming execution of the virtual machine using the guest space. 13 . The method of claim 12 , wherein the guest state includes a guest floating point unit state. 14 . The method of claim 12 , wherein the guest state includes a guest vector state. 15 . The method of claim 12 , wherein the guest state includes guest floating point unit state and a guest vector state. 16 . The method of claim 12 , wherein the instruction is at least one of a virtual machine exit instruction and an interrupt. 17 . The method of claim 12 , wherein the extended state register is not overwritten during the handling of the process using the kernel space. 18 . The method of claim 12 , wherein the reserve memory includes a first memory location for the guest state and a second different memory location for the updated user state. 19 . The method of claim 12 , further comprising: tracking the user state and the guest state in the extended state register over a period of time, where the user state and the guest state both relate to a task; stopping execution of a different task; receiving an instruction to resume handling the task; restoring one of the user state of the task and the guest state of the task based on previous usage of the user state and the guest state; determining whether the task is being handled in one of user space and guest space; ensuring access to one of the user state and the guest state is enabled; and handling the task with access to the extended state register enabled. 20 . A computer-readable storage medium storing executable instructions which, when executed by a computer system, cause the computer system to: execute a virtual machine using a guest space; store a guest state in an extended state register based on the execution of the virtual machine, wherein the virtual machine has access to the extended state register; receive an instruction for handling a process outside of the guest space; save a copy of the guest state in a reserve memory outside the extended state register; determine whether a kernel is configured to handle the process using a kernel space; responsive to determining that the kernel is configured to handle the process using the kernel space: handle the process using the kernel space without using a user space; after handling the process using the kernel space, resume execution of the virtual machine using the guest space; and responsive to determining that the kernel is not configured to handle the process using the kernel space: restore a user state in the extended state register; handle the process using the user space; store an updated user state in the extended state register; save a copy of the updated user state in the reserve memory outside the extend
Creating, deleting, cloning virtual machine instances · CPC title
the resource being the memory · CPC title
Hypervisor-specific management and integration aspects · CPC title
Saving or restoring of program or task context · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.