From ef4fbf086f4219b4f4a10d183c3094e54b761421 Mon Sep 17 00:00:00 2001 From: Bo Chen Date: Wed, 14 Feb 2024 16:12:19 -0800 Subject: [PATCH] build: Release v38.0 Signed-off-by: Bo Chen --- Cargo.lock | 2 +- Cargo.toml | 2 +- release-notes.md | 201 ++++++++++++++++++++++++++++------------ vm-migration/src/lib.rs | 2 +- 4 files changed, 143 insertions(+), 64 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9cce22406..533a473d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -439,7 +439,7 @@ checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "cloud-hypervisor" -version = "37.0.0" +version = "38.0.0" dependencies = [ "anyhow", "api_client", diff --git a/Cargo.toml b/Cargo.toml index 1f919f89e..4ef238214 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cloud-hypervisor" -version = "37.0.0" +version = "38.0.0" authors = ["The Cloud Hypervisor Authors"] edition = "2021" default-run = "cloud-hypervisor" diff --git a/release-notes.md b/release-notes.md index 39a55590d..e9dc6e880 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,11 +1,20 @@ +- [v38.0](#v380) + - [Group Rate Limiter on Block Devices](#group-rate-limiter-on-block-devices) + - [CPU Pinning Support for Block Device Worker Thread](#cpu-pinning-support-for-block-device-worker-thread) + - [Optimized Boot Time with Parallel Memory Prefault](#optimized-boot-time-with-parallel-memory-prefault) + - [New 'debug-console' Device](#new-debug-console-device) + - [Improved VFIO Device Support](#improved-vfio-device-support) + - [Extended CPU Affinity Support](#extended-cpu-affinity-support) + - [Notable Bug Fixes](#notable-bug-fixes) + - [Contributors](#contributors) - [v37.0](#v370) - [Long Term Support (LTS) Release](#long-term-support-lts-release) - - [Improved VFIO Device Passthrough with Multiple PCI Segments](#improved-vfio-device-passthrough-with-multiple-pci-segments) + - [Multiple PCI segments Support for 32-bit VFIO devices](#multiple-pci-segments-support-for-32-bit-vfio-devices) - [Configurable Named TAP Devices](#configurable-named-tap-devices) - [TTY Output from Both Serial Device and Virtio Console](#tty-output-from-both-serial-device-and-virtio-console) - [Faster VM Restoration from Snapshots](#faster-vm-restoration-from-snapshots) - - [Notable Bug Fixes](#notable-bug-fixes) - - [Contributors](#contributors) + - [Notable Bug Fixes](#notable-bug-fixes-1) + - [Contributors](#contributors-1) - [v36.0](#v360) - [Command Line Changes](#command-line-changes) - [Enabled Features Reported via API Endpoint and CLI](#enabled-features-reported-via-api-endpoint-and-cli) @@ -14,31 +23,31 @@ - [Unix Socket Backend for Serial Port](#unix-socket-backend-for-serial-port) - [AIO Backend for Block Devices](#aio-backend-for-block-devices) - [Documentation Improvements](#documentation-improvements) - - [Notable Bug Fixes](#notable-bug-fixes-1) - - [Contributors](#contributors-1) + - [Notable Bug Fixes](#notable-bug-fixes-2) + - [Contributors](#contributors-2) - [v35.0](#v350) - [`virtio-vsock` Support for Linux Guest Kernel v6.3+](#virtio-vsock-support-for-linux-guest-kernel-v63) - [User Specified Serial Number for `virtio-block`](#user-specified-serial-number-for-virtio-block) - [vCPU TSC Frequency Included in Migration State](#vcpu-tsc-frequency-included-in-migration-state) - - [Notable Bug Fixes](#notable-bug-fixes-2) - - [Contributors](#contributors-2) + - [Notable Bug Fixes](#notable-bug-fixes-3) + - [Contributors](#contributors-3) - [v34.0](#v340) - [Paravirtualised Panic Device Support](#paravirtualised-panic-device-support) - [Improvements to VM Core Dump](#improvements-to-vm-core-dump) - [QCOW2 Support for Backing Files](#qcow2-support-for-backing-files) - [Minimum Host Kernel Bump](#minimum-host-kernel-bump) - - [Notable Bug Fixes](#notable-bug-fixes-3) - - [Contributors](#contributors-3) + - [Notable Bug Fixes](#notable-bug-fixes-4) + - [Contributors](#contributors-4) - [v33.0](#v330) - [D-Bus based API](#d-bus-based-api) - [Expose Host CPU Cache Details for AArch64](#expose-host-cpu-cache-details-for-aarch64) - - [Notable Bug Fixes](#notable-bug-fixes-4) - - [Contributors](#contributors-4) + - [Notable Bug Fixes](#notable-bug-fixes-5) + - [Contributors](#contributors-5) - [v32.0](#v320) - [Increased PCI Segment Limit](#increased-pci-segment-limit) - [API Changes](#api-changes) - - [Notable Bug Fixes](#notable-bug-fixes-5) - - [Contributors](#contributors-5) + - [Notable Bug Fixes](#notable-bug-fixes-6) + - [Contributors](#contributors-6) - [v31.1](#v311) - [v31.0](#v310) - [Update to Latest `acpi_tables`](#update-to-latest-acpi_tables) @@ -46,15 +55,15 @@ - [Improvements on Console `SIGWINCH` Handler](#improvements-on-console-sigwinch-handler) - [Remove Directory Support from `MemoryZoneConfig::file`](#remove-directory-support-from-memoryzoneconfigfile) - [Documentation Improvements](#documentation-improvements-1) - - [Notable Bug Fixes](#notable-bug-fixes-6) - - [Contributors](#contributors-6) + - [Notable Bug Fixes](#notable-bug-fixes-7) + - [Contributors](#contributors-7) - [v30.0](#v300) - [Command Line Changes for Reduced Binary Size](#command-line-changes-for-reduced-binary-size) - [Basic vfio-user Server Support](#basic-vfio-user-server-support) - [Heap Profiling Support](#heap-profiling-support) - [Documentation Improvements](#documentation-improvements-2) - - [Notable Bug Fixes](#notable-bug-fixes-7) - - [Contributors](#contributors-7) + - [Notable Bug Fixes](#notable-bug-fixes-8) + - [Contributors](#contributors-8) - [v28.2](#v282) - [v29.0](#v290) - [Release Binary Supports Both MSHV and KVM](#release-binary-supports-both-mshv-and-kvm) @@ -64,10 +73,10 @@ - [`AArch64` Documentation Integration](#aarch64-documentation-integration) - [`virtio-block` Counters Enhancement](#virtio-block-counters-enhancement) - [TCP Offload Control](#tcp-offload-control) - - [Notable Bug Fixes](#notable-bug-fixes-8) + - [Notable Bug Fixes](#notable-bug-fixes-9) - [Removals](#removals) - [Deprecations](#deprecations) - - [Contributors](#contributors-8) + - [Contributors](#contributors-9) - [v28.1](#v281) - [v28.0](#v280) - [Community Engagement (Reminder)](#community-engagement-reminder) @@ -75,9 +84,9 @@ - [Virtualised TPM Support](#virtualised-tpm-support) - [Transparent Huge Page Support](#transparent-huge-page-support) - [README Quick Start Improved](#readme-quick-start-improved) - - [Notable Bug Fixes](#notable-bug-fixes-9) + - [Notable Bug Fixes](#notable-bug-fixes-10) - [Removals](#removals-1) - - [Contributors](#contributors-9) + - [Contributors](#contributors-10) - [v27.0](#v270) - [Community Engagement](#community-engagement) - [Prebuilt Packages](#prebuilt-packages) @@ -86,41 +95,41 @@ - [Simplified Build Feature Flags](#simplified-build-feature-flags) - [Asynchronous Kernel Loading](#asynchronous-kernel-loading) - [GDB Support for AArch64](#gdb-support-for-aarch64) - - [Notable Bug Fixes](#notable-bug-fixes-10) + - [Notable Bug Fixes](#notable-bug-fixes-11) - [Deprecations](#deprecations-1) - - [Contributors](#contributors-10) + - [Contributors](#contributors-11) - [v26.0](#v260) - [SMBIOS Improvements via `--platform`](#smbios-improvements-via---platform) - [Unified Binary MSHV and KVM Support](#unified-binary-mshv-and-kvm-support) - - [Notable Bug Fixes](#notable-bug-fixes-11) + - [Notable Bug Fixes](#notable-bug-fixes-12) - [Deprecations](#deprecations-2) - [Removals](#removals-2) - - [Contributors](#contributors-11) + - [Contributors](#contributors-12) - [v25.0](#v250) - [`ch-remote` Improvements](#ch-remote-improvements-1) - [VM "Coredump" Support](#vm-coredump-support) - - [Notable Bug Fixes](#notable-bug-fixes-12) + - [Notable Bug Fixes](#notable-bug-fixes-13) - [Removals](#removals-3) - - [Contributors](#contributors-12) + - [Contributors](#contributors-13) - [v24.0](#v240) - [Bypass Mode for `virtio-iommu`](#bypass-mode-for-virtio-iommu) - [Ensure Identifiers Uniqueness](#ensure-identifiers-uniqueness) - [Sparse Mmap support](#sparse-mmap-support) - [Expose Platform Serial Number](#expose-platform-serial-number) - - [Notable Bug Fixes](#notable-bug-fixes-13) + - [Notable Bug Fixes](#notable-bug-fixes-14) - [Notable Improvements](#notable-improvements) - [Deprecations](#deprecations-3) - [New on the Website](#new-on-the-website) - - [Contributors](#contributors-13) + - [Contributors](#contributors-14) - [v23.1](#v231) - [v23.0](#v230) - [vDPA Support](#vdpa-support) - [Updated OS Support list](#updated-os-support-list) - [`AArch64` Memory Map Improvements](#aarch64-memory-map-improvements) - [`AMX` Support](#amx-support) - - [Notable Bug Fixes](#notable-bug-fixes-14) + - [Notable Bug Fixes](#notable-bug-fixes-15) - [Deprecations](#deprecations-4) - - [Contributors](#contributors-14) + - [Contributors](#contributors-15) - [v22.1](#v221) - [v22.0](#v220) - [GDB Debug Stub Support](#gdb-debug-stub-support) @@ -131,13 +140,13 @@ - [PMU Support for AArch64](#pmu-support-for-aarch64) - [Documentation Under CC-BY-4.0 License](#documentation-under-cc-by-40-license) - [Deprecation of "Classic" `virtiofsd`](#deprecation-of-classic-virtiofsd) - - [Notable Bug Fixes](#notable-bug-fixes-15) - - [Contributors](#contributors-15) + - [Notable Bug Fixes](#notable-bug-fixes-16) + - [Contributors](#contributors-16) - [v21.0](#v210) - [Efficient Local Live Migration (for Live Upgrade)](#efficient-local-live-migration-for-live-upgrade) - [Recommended Kernel is Now 5.15](#recommended-kernel-is-now-515) - - [Notable Bug fixes](#notable-bug-fixes-16) - - [Contributors](#contributors-16) + - [Notable Bug fixes](#notable-bug-fixes-17) + - [Contributors](#contributors-17) - [v20.2](#v202) - [v20.1](#v201) - [v20.0](#v200) @@ -146,8 +155,8 @@ - [Improved VFIO support](#improved-vfio-support) - [Safer code](#safer-code) - [Extended documentation](#extended-documentation) - - [Notable bug fixes](#notable-bug-fixes-17) - - [Contributors](#contributors-17) + - [Notable bug fixes](#notable-bug-fixes-18) + - [Contributors](#contributors-18) - [v19.0](#v190) - [Improved PTY handling for serial and `virtio-console`](#improved-pty-handling-for-serial-and-virtio-console) - [PCI boot time optimisations](#pci-boot-time-optimisations) @@ -155,8 +164,8 @@ - [Live migration enhancements](#live-migration-enhancements) - [`virtio-mem` support with `vfio-user`](#virtio-mem-support-with-vfio-user) - [AArch64 for `virtio-iommu`](#aarch64-for-virtio-iommu) - - [Notable bug fixes](#notable-bug-fixes-18) - - [Contributors](#contributors-18) + - [Notable bug fixes](#notable-bug-fixes-19) + - [Contributors](#contributors-19) - [v18.0](#v180) - [Experimental User Device (`vfio-user`) support](#experimental-user-device-vfio-user-support) - [Migration support for `vhost-user` devices](#migration-support-for-vhost-user-devices) @@ -166,23 +175,23 @@ - [Live migration on MSHV hypervisor](#live-migration-on-mshv-hypervisor) - [AArch64 CPU topology support](#aarch64-cpu-topology-support) - [Power button support on AArch64](#power-button-support-on-aarch64) - - [Notable bug fixes](#notable-bug-fixes-19) - - [Contributors](#contributors-19) + - [Notable bug fixes](#notable-bug-fixes-20) + - [Contributors](#contributors-20) - [v17.0](#v170) - [ARM64 NUMA support using ACPI](#arm64-numa-support-using-acpi) - [`Seccomp` support for MSHV backend](#seccomp-support-for-mshv-backend) - [Hotplug of `macvtap` devices](#hotplug-of-macvtap-devices) - [Improved SGX support](#improved-sgx-support) - [Inflight tracking for `vhost-user` devices](#inflight-tracking-for-vhost-user-devices) - - [Notable bug fixes](#notable-bug-fixes-20) - - [Contributors](#contributors-20) + - [Notable bug fixes](#notable-bug-fixes-21) + - [Contributors](#contributors-21) - [v16.0](#v160) - [Improved live migration support](#improved-live-migration-support) - [Improved `vhost-user` support](#improved-vhost-user-support) - [ARM64 ACPI and UEFI support](#arm64-acpi-and-uefi-support) - - [Notable bug fixes](#notable-bug-fixes-21) + - [Notable bug fixes](#notable-bug-fixes-22) - [Removed functionality](#removed-functionality) - - [Contributors](#contributors-21) + - [Contributors](#contributors-22) - [v15.0](#v150) - [Version numbering and stability guarantees](#version-numbering-and-stability-guarantees) - [Network device rate limiting](#network-device-rate-limiting) @@ -190,7 +199,7 @@ - [`--api-socket` supports file descriptor parameter](#--api-socket-supports-file-descriptor-parameter) - [Bug fixes](#bug-fixes) - [Deprecations](#deprecations-5) - - [Contributors](#contributors-22) + - [Contributors](#contributors-23) - [v0.14.1](#v0141) - [v0.14.0](#v0140) - [Structured event monitoring](#structured-event-monitoring) @@ -200,7 +209,7 @@ - [PTY control for serial and `virtio-console`](#pty-control-for-serial-and-virtio-console) - [Block device rate limiting](#block-device-rate-limiting) - [Deprecations](#deprecations-6) - - [Contributors](#contributors-23) + - [Contributors](#contributors-24) - [v0.13.0](#v0130) - [Wider VFIO device support](#wider-vfio-device-support) - [Improved huge page support](#improved-huge-page-support) @@ -208,13 +217,13 @@ - [VHD disk image support](#vhd-disk-image-support) - [Improved Virtio device threading](#improved-virtio-device-threading) - [Clean shutdown support via synthetic power button](#clean-shutdown-support-via-synthetic-power-button) - - [Contributors](#contributors-24) + - [Contributors](#contributors-25) - [v0.12.0](#v0120) - [ARM64 enhancements](#arm64-enhancements) - [Removal of `vhost-user-net` and `vhost-user-block` self spawning](#removal-of-vhost-user-net-and-vhost-user-block-self-spawning) - [Migration of `vhost-user-fs` backend](#migration-of-vhost-user-fs-backend) - [Enhanced "info" API](#enhanced-info-api) - - [Contributors](#contributors-25) + - [Contributors](#contributors-26) - [v0.11.0](#v0110) - [`io_uring` support by default for `virtio-block`](#io_uring-support-by-default-for-virtio-block) - [Windows Guest Support](#windows-guest-support) @@ -226,15 +235,15 @@ - [Default Log Level Changed](#default-log-level-changed) - [New `--balloon` Parameter Added](#new---balloon-parameter-added) - [Experimental `virtio-watchdog` Support](#experimental-virtio-watchdog-support) - - [Notable Bug Fixes](#notable-bug-fixes-22) - - [Contributors](#contributors-26) + - [Notable Bug Fixes](#notable-bug-fixes-23) + - [Contributors](#contributors-27) - [v0.10.0](#v0100) - [`virtio-block` Support for Multiple Descriptors](#virtio-block-support-for-multiple-descriptors) - [Memory Zones](#memory-zones) - [`Seccomp` Sandbox Improvements](#seccomp-sandbox-improvements) - [Preliminary KVM HyperV Emulation Control](#preliminary-kvm-hyperv-emulation-control) - - [Notable Bug Fixes](#notable-bug-fixes-23) - - [Contributors](#contributors-27) + - [Notable Bug Fixes](#notable-bug-fixes-24) + - [Contributors](#contributors-28) - [v0.9.0](#v090) - [`io_uring` Based Block Device Support](#io_uring-based-block-device-support) - [Block and Network Device Statistics](#block-and-network-device-statistics) @@ -247,17 +256,17 @@ - [Enhancements to ARM64 Support](#enhancements-to-arm64-support) - [Intel SGX Support](#intel-sgx-support) - [`Seccomp` Sandbox Improvements](#seccomp-sandbox-improvements-1) - - [Notable Bug Fixes](#notable-bug-fixes-24) - - [Contributors](#contributors-28) + - [Notable Bug Fixes](#notable-bug-fixes-25) + - [Contributors](#contributors-29) - [v0.8.0](#v080) - [Experimental Snapshot and Restore Support](#experimental-snapshot-and-restore-support) - [Experimental ARM64 Support](#experimental-arm64-support) - [Support for Using 5-level Paging in Guests](#support-for-using-5-level-paging-in-guests) - [Virtio Device Interrupt Suppression for Network Devices](#virtio-device-interrupt-suppression-for-network-devices) - [`vhost_user_fs` Improvements](#vhost_user_fs-improvements) - - [Notable Bug Fixes](#notable-bug-fixes-25) + - [Notable Bug Fixes](#notable-bug-fixes-26) - [Command Line and API Changes](#command-line-and-api-changes) - - [Contributors](#contributors-29) + - [Contributors](#contributors-30) - [v0.7.0](#v070) - [Block, Network, Persistent Memory (PMEM), VirtioFS and Vsock hotplug](#block-network-persistent-memory-pmem-virtiofs-and-vsock-hotplug) - [Alternative `libc` Support](#alternative-libc-support) @@ -267,14 +276,14 @@ - [`Seccomp` Sandboxing](#seccomp-sandboxing) - [Updated Distribution Support](#updated-distribution-support) - [Command Line and API Changes](#command-line-and-api-changes-1) - - [Contributors](#contributors-30) + - [Contributors](#contributors-31) - [v0.6.0](#v060) - [Directly Assigned Devices Hotplug](#directly-assigned-devices-hotplug) - [Shared Filesystem Improvements](#shared-filesystem-improvements) - [Block and Networking IO Self Offloading](#block-and-networking-io-self-offloading) - [Command Line Interface](#command-line-interface) - [PVH Boot](#pvh-boot) - - [Contributors](#contributors-31) + - [Contributors](#contributors-32) - [v0.5.1](#v051) - [v0.5.0](#v050) - [Virtual Machine Dynamic Resizing](#virtual-machine-dynamic-resizing) @@ -282,7 +291,7 @@ - [New Interrupt Management Framework](#new-interrupt-management-framework) - [Development Tools](#development-tools) - [Kata Containers Integration](#kata-containers-integration) - - [Contributors](#contributors-32) + - [Contributors](#contributors-33) - [v0.4.0](#v040) - [Dynamic virtual CPUs addition](#dynamic-virtual-cpus-addition) - [Programmatic firmware tables generation](#programmatic-firmware-tables-generation) @@ -291,7 +300,7 @@ - [Userspace IOAPIC by default](#userspace-ioapic-by-default) - [PCI BAR reprogramming](#pci-bar-reprogramming) - [New `cloud-hypervisor` organization](#new-cloud-hypervisor-organization) - - [Contributors](#contributors-33) + - [Contributors](#contributors-34) - [v0.3.0](#v030) - [Block device offloading](#block-device-offloading) - [Network device backend](#network-device-backend) @@ -318,6 +327,76 @@ - [Unit testing](#unit-testing) - [Integration tests parallelization](#integration-tests-parallelization) +# v38.0 + +This release has been tracked in our [roadmap +project](https://github.com/orgs/cloud-hypervisor/projects/6) as iteration +v38.0. The following user visible changes have been made: + +### Group Rate Limiter on Block Devices + +Users now can throttle a group of block devices with the new +`--rate-limiter-group` option. Details can be found from the [I/O +Throttling documentation](docs/io_throttling.md) + +### CPU Pinning Support for Block Device Worker Thread + +Users now have the option to pin virt-queue threads for block devices +to specific host cpus. + +### Optimized Boot Time with Parallel Memory Prefault + +The boot time with `prefault` option enabled is optimized via parallel +memory prefault. + +### New 'debug-console' Device + +A 'debug-console' device is added to provide a user-configurable debug +port for logging guest information. Details can be found from the [Debug +IO Ports documentation](docs/debug-port.md). + +### Improved VFIO Device Support + +All non-emulated MMIO regions of VFIO devices are now mapped to the VFIO +container, allowing PCIe P2P between all VFIO devices on the same +VM. This is required for a wide variety of multi-GPU workloads involving +GPUDirect P2P (DMA between two GPUs), GPUDirect RDMA (DMA between a GPU +and an IB device). + +### Extended CPU Affinity Support + +Users now can set the vcpu affinity to a host CPU with index larger +than 255. + +### Notable Bug Fixes + +* Enable HTT flag to avoid crashing cpu topology enumeration software +such as hwloc in the guest (#6146) +* Fix several security advisories from dependencies (#6134, #6141) +* Handle non-power-of-two CPU topology properly (#6062) +* Various bug fixes around `virtio-vsock`(#6080, #6091, #6095) +* Enable nested virtualization on AMD if supported (#6106) +* Align VFIO devices PCI BARs naturally (#6196) + +### Contributors + +Many thanks to everyone who has contributed to our release: +* Alyssa Ross +* Bo Chen +* Daniel Farina +* Jinank Jain +* Muminul Islam +* Peteris Rudzusiks +* Philipp Schuster +* Ravi kumar Veeramally +* Rob Bradford +* Ruslan Mstoi +* Sean Banko +* Thomas Barrett +* Wei Liu +* Yi Wang +* acarp + # v37.0 This release has been tracked in our [roadmap diff --git a/vm-migration/src/lib.rs b/vm-migration/src/lib.rs index fc6398367..77b3771dc 100644 --- a/vm-migration/src/lib.rs +++ b/vm-migration/src/lib.rs @@ -12,7 +12,7 @@ use versionize::{VersionMap, Versionize}; pub mod protocol; /// Global VMM version for versioning -const MAJOR_VERSION: u16 = 37; +const MAJOR_VERSION: u16 = 38; const MINOR_VERSION: u16 = 0; const VMM_VERSION: u16 = MAJOR_VERSION << 12 | MINOR_VERSION & 0b1111;