Cloud Hypervisor, an open source Virtual Machine Monitor (VMM), has announced the release of version v36.0. This VMM runs on top of the KVM hypervisor and the Microsoft Hypervisor (MSHV) and is designed to run modern cloud workloads on common hardware architectures.
The project focuses on enabling customers to run cloud workloads inside a Cloud Service Provider, utilizing modern operating systems with paravirtualized devices (such as virtio) for efficient I/O, 64-bit CPUs, and no requirement for legacy devices.
Cloud Hypervisor is implemented in Rust and is based on the Rust VMM crates. The v36.0 release includes several user-visible changes and improvements:
Command Line Changes
The project has switched back to using the
clap crate to create the command line interface, as the previous
argh crate was not being actively maintained. This switch has resulted in syntax changes, such as using
--option=value instead of
Enabled Features Reported via API Endpoint and CLI
Users can now query the enabled features of the running Cloud Hypervisor instance through the API endpoint (
/vmm.ping) and the CLI (
NUMA Support for PCI Segments
--numa command has been updated with a new option
pci_segment=, allowing users to define the relationship between PCI segments and NUMA nodes. Examples of usage can be found in the memory documentation.
CPU Topology Support on AMD Platforms
The CPU topology on x86_64 platforms now supports multiple vendors, providing improved flexibility and compatibility.
Unix Socket Backend for Serial Port
--serial command has been enhanced with a new option
socket=, enabling users to access the serial port using a Unix socket.
AIO Backend for Block Devices
An AIO (Asynchronous Input/Output) backend has been added for
virtio-block devices, improving block device performance when the
io_uring feature is not supported by the host operating system.
The release includes various documentation improvements, including a new document for collecting coverage data and various typo fixes.
Notable Bug Fixes
Several notable bug fixes have been included in this release, including a fix for a deadlock issue when TDX (Intel Total Memory Encryption Extension) is enabled, a correction of the default value for vCPU topology on AArch64, and ensuring that AMX (Advanced Matrix Extensions) feature bits are only advertised to guests when the AMX CPU feature is enabled.