Breaking

Beat

Cloud Hypervisor

Cloud Hypervisor VMM news

Cloud Hypervisor

Failed TCP live migration can hang Cloud Hypervisor

Live migration over TCP can hang Cloud Hypervisor when the transfer fails or is canceled. The source waits forever for its copy workers to exit, and the destination spins if the sender drops the connection mid-copy.

Cloud Hypervisor

Cloud Hypervisor aborts on a VHDX header at the sequence max

Cloud Hypervisor's VHDX disk format stores a sequence number in the header and bumps it on write. A disk whose header already sat at the highest 64-bit value made the VMM abort on the first write.

Cloud Hypervisor

Cloud Hypervisor can now read virtio-balloon statistics

A virtio balloon is the guest device Cloud Hypervisor uses to reclaim unused memory. The VMM can now pull the balloon's latest statistics over the host control API, and it caches the last sample so the call does not wait on the guest.

Cloud Hypervisor

Cloud Hypervisor missed virtio-iommu when translating MSI

MSI interrupts need a guest address turned into a host address. With virtio-iommu that translation skipped the virtual IOMMU, so the interrupt could go to the wrong place.

Cloud Hypervisor

Cloud Hypervisor could publish a QCOW table before it owned it

QCOW images keep a two-level map of guest disk blocks. A new second-level table could be pointed at from the first level before Cloud Hypervisor owned that table.

Cloud Hypervisor

Cloud Hypervisor can restore memory copy-on-write

Restoring a snapshot used to write guest memory in place. A new restore mode maps the snapshot copy-on-write so the first write from the guest makes a private copy.

Cloud Hypervisor

Cloud Hypervisor now kicks a vhost-user backend after reconnect

A vhost-user device talks to a helper process over a socket. After that socket reconnects, the backend was not always notified, so the device could sit idle.

Cloud Hypervisor

Cloud Hypervisor reserves hugepage memory by default

Huge-page guests need the host to reserve that memory. If you did not set a reserve flag, Cloud Hypervisor now turns reserve on for hugepages.

Cloud Hypervisor

Cloud Hypervisor now requires a disk image type

Opening a guest disk used to guess the image format. You now have to name the type, and an unspecified type is rejected.

Cloud Hypervisor

Cloud Hypervisor VHDX flush did not actually hit disk

A guest flush on a VHDX disk only flushed userspace buffers. It did not sync the file the way raw, VHD, and VMDK already do.

Cloud Hypervisor

Cloud Hypervisor put gaps back between boot and hotplug RAM

Cloud Hypervisor had stopped leaving a gap between boot RAM and hotplug RAM, so one access could span two host maps. The gap is back.

Cloud Hypervisor

Cloud Hypervisor identity-maps Grace Blackwell GPU BARs

On NVIDIA Grace Blackwell GPUs, the high-bandwidth memory path skips the SMMU. The guest has to see the host physical BAR address or the GPU driver fails.

Cloud Hypervisor

Cloud Hypervisor wrote PCI NUMA handles the wrong way

Cloud Hypervisor used to encode a PCI device's NUMA handle with the bus and function bytes repeated. A guest following ACPI 6.6 would not see that device on the node you asked for.

Cloud Hypervisor

Cloud Hypervisor could die on a large HTTP API body

A large HTTP API request could kill Cloud Hypervisor when the allocator remapped memory. The HTTP thread's syscall filter now allows that remap.

Cloud Hypervisor

Cloud Hypervisor told guests their L3 cache spanned every package

Cloud Hypervisor used to copy the host's last-level cache map into the guest. On a multi-package VM that map could cover every vCPU as one cache, so the guest kernel scheduled as if they all shared last-level cache.

Cloud Hypervisor

Cloud Hypervisor used to crash when a VFIO DMA range crossed a mapping gap

Cloud Hypervisor used to abort if a pass-through DMA request sat inside a device BAR but spanned two separate host mappings. That is now a failed lookup, not a crash.

Cloud Hypervisor

Cloud Hypervisor used to reject large VM configs over HTTP

Cloud Hypervisor's HTTP control API used to reject request bodies bigger than about 50 KB. A create for a big VM with lots of disks and per-queue CPU lists could hit that wall, so the cap is now 4 MiB.

Cloud Hypervisor

Cloud Hypervisor extra PCI buses no longer reserve slot 0

A host bridge is the dummy device firmware expects at slot 0 of the first PCI bus. Extra buses used to get one too, so a real device could not sit at 00:00.0.

Cloud Hypervisor

Cloud Hypervisor device-remove can be retried when the guest is busy

Under load the guest may miss the ACPI eject interrupt. A second remove then failed because the device was already gone from the config.

Cloud Hypervisor

Cloud Hypervisor picked up mshv and VFIO crate 0.7.0 bugfixes

The Microsoft Hypervisor and VFIO helper crates are rust-vmm libraries Cloud Hypervisor uses to talk to the host. This bump lands their 0.7.0 bugfixes with no guest-facing feature.

Cloud Hypervisor

Cloud Hypervisor could crash restoring a VM with an unused virtio device

Restore tried to read a virtio ring for a queue the guest never set up. On ARM that read hits unbacked memory and the VMM panics.

Cloud Hypervisor

Cloud Hypervisor no longer dies when the host tap is not ready

Cloud Hypervisor sends guest packets through a host tap, a virtual ethernet pipe. If that pipe was not ready, one refused write used to shut the guest down.

Cloud Hypervisor

Cloud Hypervisor now refuses a live migrate if the destination lacks the guest's matrix CPU features

Live migrate moves a running guest to another host. Main now refuses the move if the destination cannot offer the same Intel matrix CPU features the guest already saw.

Cloud Hypervisor

Cloud Hypervisor ARM snapshots copied one CPU's interrupt state onto the others

On ARM, a Cloud Hypervisor snapshot of a multi-CPU guest saved every CPU's interrupt-controller state as a copy of CPU 0. After restore, pending interrupts could be lost.