Cloud Hypervisor v0.11.0 Released!

Posted October 29, 2020 by Cloud Hypervisor Team ‐ 3 min read

v0.11.0

This release has been tracked through the 0.11.0 project.

Highlights for cloud-hypervisor version 0.11.0 include:

io_uring support by default for virtio-block

Provided that the host OS supports it (Linux kernel 5.8+) then io_uring will be used for a significantly higher performance block device.

Windows Guest Support

This is the first release where we officially support Windows running as a guest. Full details of how to setup the image and run Cloud Hypervisor with a Windows guest can be found in the dedicated Windows documentation.

vhost-user “Self Spawning” Deprecation

Automatically spawning a vhost-user-net or vhost-user-block backend is now deprecated. Users of this functionality will receive a warning and should make adjustments. The functionality will be removed in the next release.

virtio-mmmio Removal

Support for using the virtio-mmio transport, rather than using PCI, has been removed. This has been to simplify the code and significantly reduce the testing burden of the project.

Snapshot/Restore support for ARM64

When running on the ARM64 architecture snapshot and restore has now been implemented.

Improved Linux Boot Time

The time to boot the Linux kernel has been significantly improved by the identifying some areas of delays around PCI bus probing, IOAPIC programming and MPTABLE issues. Full details can be seen in #1728.

SIGTERM/SIGINT Interrupt Signal Handling

When the VMM process receives the SIGTERM or SIGINT signals then it will trigger the VMM process to cleanly deallocate resources before exiting. The guest VM will not be cleanly shutdown but the VMM process will clean up its resources.

Default Log Level Changed

The default logging level was changed to include warnings which should make it easier to see potential issues. New logging documentation was also added.

New --balloon Parameter Added

Control of the setup of virtio-balloon has been moved from --memory to its own dedicated parameter. This makes it easier to add more balloon specific controls without overloading --memory.

Experimental virtio-watchdog Support

Support for using a new virtio-watchdog has been added which can be used to have the VMM reboot the guest if the guest userspace fails to ping the watchdog. This is enabled with --watchdog and requires kernel support.

Notable Bug Fixes

  • MTRR bit was missing from CPUID advertised to guest
  • “Return” key could not be used under CMD.EXE under Windows SAC (#1170)
  • CPU identification string is now exposed to the guest
  • virtio-pmem withdiscard_writes=on no longer marks the guest memory as read only so avoids excessive VM exits (#1795)
  • PCI device hotplug after an unplug was fixed (#1802)
  • When using the ACPI method to resize the guest memory the full reserved size can be used (#1803)
  • Snapshot and restore followed by a second snapshot and restore now works correctly
  • Snapshot and restore of VMs with more than 2GiB in one region now work correctly

Contributors

Many thanks to everyone who has contributed to our 0.11.0 release including some new faces.

Download

See the GitHub Release for the release assets.