IP Library Granted Patent US 9,804,876
Granted Patent B2
US 9,804,876 · App. 13/407,704 · Granted Oct 31, 2017

Hypervisor-driven hibernation

Inventors: Michael Tsirkin (Yokneam Yillit, IL); Dor Laor (Tel Aviv, IL)
Assignee: Red Hat Israel, Ltd.
G06F9/45558G06F2009/45575
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,804,876
App. No.
13/407,704
Granted
Oct 31, 2017
Kind
B2
Abstract

A system and method for hibernating virtual machines (VMs) are disclosed. In accordance with one embodiment, a computer system that executes a hypervisor and a virtual machine (VM) determines that the virtual machine is to be put to sleep, wherein the determining is performed without involvement of a guest operating system hosted by the virtual machine. In response, the hypervisor stops a first virtual processor of the VM and persists the state of the first virtual processor.

Claims (35)

1. A method comprising:

executing, by a processing device, a hypervisor;

identifying a first virtual machine that is executing and a second virtual machine that is executing, the first virtual machine comprising a plurality of virtual processors;

determining, by the hypervisor, that the first virtual machine is to be hibernated while the second virtual machine remains awake, wherein the determining is performed without involvement of a guest operating system hosted by the first virtual machine;

stopping by the hypervisor, in view of the determining, a first virtual processor of the plurality of virtual processors of the first virtual machine;

persisting, by the hypervisor, a state of the stopped first virtual processor; and

in response to a hardware fault that occurs after the stopping of the first virtual processor and the persisting of the state of the stopped first virtual processor, re-starting, by the hypervisor, the stopped first virtual processor, the re-starting comprising loading the state of the stopped first virtual processor.

2. The method of claim 1 further comprising transmitting to the first virtual machine a signal that indicates that the first virtual machine has exited a stopped state.

3. The method of claim 1 further comprising:

stopping, by the hypervisor, a second virtual processor of the plurality of virtual processors of the first virtual machine; and

persisting, by the hypervisor, a state of the stopped second virtual processor.

4. The method of claim 1 further comprising stopping, by the hypervisor, one or more virtual devices of the first virtual machine.

5. An apparatus comprising:

a memory to store a first virtual machine and a second virtual machine; and

a processing device, operatively coupled to the memory, to execute the first virtual machine, the second virtual machine, and a hypervisor, wherein the processing device is to execute the hypervisor to:

identify the first virtual machine and the second virtual machine, the first virtual machine comprising a plurality of virtual processors;

determine that the first virtual machine is to be hibernated while the second virtual machine remains awake, wherein the determining is performed without involvement of a guest operating system hosted by the first virtual machine;

stop, in view of the determining, a first virtual processor of the plurality of virtual processors of the first virtual machine;

persist a state of the stopped first virtual processor; and

in response to a clock event that occurs after the stopping of the first virtual processor and the persisting of the state of the stopped first virtual processor, re-start the stopped first virtual processor, the re-starting comprising loading the state of the stopped first virtual processor.

6. The apparatus of claim 5 wherein the hypervisor is also to:

stop a second virtual processor of the first virtual machine; and

persist a state of the stopped second virtual processor.

7. A non-transitory computer readable storage medium, having instructions stored therein, which when executed, cause a processing device to:

execute, by the processing device, a hypervisor;

identify a first virtual machine that is executing and a second virtual machine that is executing, the first virtual machine comprising a plurality of virtual processors;

stop, via the hypervisor, a first virtual processor of the plurality of virtual processors of the first virtual machine while the second virtual machine remains awake, wherein the first virtual machine hosts a guest operating system that has no power management capability;

persist, via the hypervisor, a state of the stopped first virtual processor; and

in response to a hardware fault that occurs after the stopping of the first virtual processor and the persisting of the state of the stopped first virtual processor, re-start, via the hypervisor, the stopped first virtual processor, the re-starting comprising loading the state of the stopped first virtual processor.

8. The non-transitory computer readable storage medium of claim 7 , wherein the instructions further cause the processing device to transmit to the first virtual machine a signal that indicates that the first virtual machine has exited a stopped state.

9. The non-transitory computer readable storage medium of claim 7 ,

wherein the instructions further cause the processing device to:

stop, via the hypervisor, a second virtual processor of the plurality of virtual processors of the first virtual machine; and

persist, via the hypervisor, a state of the stopped second virtual processor.

10. The non-transitory computer readable storage medium of claim 7 , wherein the instructions further cause the processing device to stop, via the hypervisor, one or more virtual devices of the first virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2012
From: TSIRKIN, MICHAEL; LAOR, DOR
To: RED HAT ISRAEL, LTD.
Reel/Frame 027779/0023 →
Continuity (1)
Related Publication 20130227554A1 · Aug 29, 2013