From Fedora Project Wiki
(More details and scope)
Line 7: Line 7:


Linux guests don't do S3/S4 properly right now due to missing functionality in the virtio layer to save state before hibernation and restore it after resume.
Linux guests don't do S3/S4 properly right now due to missing functionality in the virtio layer to save state before hibernation and restore it after resume.
The plan is to extend virtio and individual virtio drivers to handle hibernation.
The plan is to extend virtio and individual virtio drivers to handle hibernation, as well as userspace components like libvirt + qemu to enable everything.


== Owner ==
== Owner ==
Line 22: Line 22:
== Detailed Description ==
== Detailed Description ==
Hibernation is a standard feature on most OSes. Users can put the OS is a hibernation mode, switch off the computer, and later, on the next restart, continue from where they left off, including all their open browsing sessions and document editors. So far, Linux guests with virtio drivers haven't been able to resume properly after hibernation. This work will fix that, and users will be able to experience hibernation as they are used to on KVM-optimised paravirtual guests.
Hibernation is a standard feature on most OSes. Users can put the OS is a hibernation mode, switch off the computer, and later, on the next restart, continue from where they left off, including all their open browsing sessions and document editors. So far, Linux guests with virtio drivers haven't been able to resume properly after hibernation. This work will fix that, and users will be able to experience hibernation as they are used to on KVM-optimised paravirtual guests.
In addition, this feature tracks libvirt and qemu-ga additions that enable suspending/hibernating a VM from the host command line.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 28: Line 30:


== Scope ==
== Scope ==
* Kernel suspend/resume support for virtio (DONE)
* Kernel
* S3/S4 Support in QEMU, Seabios (DONE)
** Kernel suspend/resume support for virtio (DONE)
* Get package versions into Fedora (still need qemu 1.1)
* QEMU
* Libvirt API support? (Not sure of the scope...)
** S3/S4 Support in QEMU, Seabios (DONE, qemu 1.1)
** qemu guest agent API commands for s3/s4 (DONE, qemu 1.1)
** enable s3/s4 in seabios (not done? currently disabled with a patch in f17 due to some usability confusion)
* Libvirt
** API for initiating guest s3/s4, virsh support (DONE)
** s3/s4 guest event support (unknown, probably not a requirement)
* Apps
** ovirt usage (unknown)
** virt-manager usage (none, but probably not a requirement)
* Packaging
** get qemu 1.1 into Fedora (DONE)
 


== How To Test ==
== How To Test ==
Line 54: Line 67:
== Dependencies ==
== Dependencies ==
Kernel 3.4, which is already queued for F17.
Kernel 3.4, which is already queued for F17.
qemu 1.1, already in rawhide.


== Contingency Plan ==
== Contingency Plan ==
Line 64: Line 78:
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
*
* TBD


== Comments and Discussion ==
== Comments and Discussion ==

Revision as of 18:33, 15 July 2012


Virt Guest Suspend/Hibernate support

Summary

Linux guests don't do S3/S4 properly right now due to missing functionality in the virtio layer to save state before hibernation and restore it after resume. The plan is to extend virtio and individual virtio drivers to handle hibernation, as well as userspace components like libvirt + qemu to enable everything.

Owner

Current status

  • Targeted release: Fedora 18
  • Last updated: June 6 2012
  • Percentage of completion: 60%

Detailed Description

Hibernation is a standard feature on most OSes. Users can put the OS is a hibernation mode, switch off the computer, and later, on the next restart, continue from where they left off, including all their open browsing sessions and document editors. So far, Linux guests with virtio drivers haven't been able to resume properly after hibernation. This work will fix that, and users will be able to experience hibernation as they are used to on KVM-optimised paravirtual guests.

In addition, this feature tracks libvirt and qemu-ga additions that enable suspending/hibernating a VM from the host command line.

Benefit to Fedora

  • Virtual machines act more like physical machines, which allows for better testing of the distro in a VM.
  • Interesting feature to market for F18.

Scope

  • Kernel
    • Kernel suspend/resume support for virtio (DONE)
  • QEMU
    • S3/S4 Support in QEMU, Seabios (DONE, qemu 1.1)
    • qemu guest agent API commands for s3/s4 (DONE, qemu 1.1)
    • enable s3/s4 in seabios (not done? currently disabled with a patch in f17 due to some usability confusion)
  • Libvirt
    • API for initiating guest s3/s4, virsh support (DONE)
    • s3/s4 guest event support (unknown, probably not a requirement)
  • Apps
    • ovirt usage (unknown)
    • virt-manager usage (none, but probably not a requirement)
  • Packaging
    • get qemu 1.1 into Fedora (DONE)


How To Test

TBD

User Experience

Virt users will now actually be able to suspend or hibernate their VMs like they would on a physical machine.

Dependencies

Kernel 3.4, which is already queued for F17. qemu 1.1, already in rawhide.

Contingency Plan

Since this is brand new functionality, if it doesn't make it in time for F18, nothing has changed. We just drop this feature page.

Documentation

Release Notes

  • TBD

Comments and Discussion