Speaker
Vipin Sharma
(Google)
Description
Live Update enables hypervisor updates with minimal guest downtime by preserving VM state across kexec. While memory preservation (via KHO/LUO) covers VM RAM, pass-through PCIe devices assigned to VMs (e.g., GPUs, NICs, NVMe, accelerators) require kernel support to maintain device state across the reboot boundary.
This talk presents the design of VFIO Live Update (Phase 1, recently posted in v5 [1]) and our roadmap toward continuous DMA [2]. Phase 1 establishes base support for preserving VFIO cdev device file descriptors across kexec using the Live Update Orchestrator (LUO) and Kexec Handover (KHO).
We will discuss:
- Architecture & Current Phase: How VFIO
cdevdevice FDs are preserved acrosskexec, enforced retrieval throughLIVEUPDATE_SESSION_RETRIEVE_FD, and safe quiescing/reset infreeze()in Phase 1. - Failure Handling & Recovery: How VFIO devices handle failures if a Live Update session is cancelled before
kexec(unfreezing/unpreserving) or fails afterkexec(cleanup of unretrieved devices). - Subsystem Interactions: Handoff ordering, dependencies, and recovery semantics between VFIO, PCI core, and IOMMUFD.
- The Road to Continuous DMA: Future phases extending beyond device reset toward preserving running devices with active DMA/interrupts (noiommu -> iommufd -> SR-IOV VFs).
- VF and SR-IOV Live Update (Phase 5): Unique challenges of preserving Virtual Functions (VFs) when the Physical Function (PF) driver or host PCI core initializes post-
kexec, and managing PF/VF dependency trees across Live Update. - Testing & Tooling: How to test active DMA in QEMU environments when DMA-capable physical hardware is absent, and how to simplify/standardize VFIO Live Update selftests for developers and CI.
We hope to get community feedback on our approach and align on the future direction of VFIO Live Update.
References
Author
Vipin Sharma
(Google)