The Challenges of Asynchronous Teardown of KVM Guests
summary
Large (multi‑TB) KVM guests can take minutes to free memory; a laptop benchmark shows ~13 GB/s so a 16 TB guest needs ~20 minutes to shut down. Multiple implementations are compared: background kernel thread cleanup (works but misaccounts CPU to cgroups), user‑thread cleanup in qemu (correct accounting, needs qemu patches), clone(CLONE_VM) cleaner process (opt‑in, kills share pid memory, preferred), and mmput_async (simple but controversial). The clone solution is implemented, mostly architecture‑independent, and works with libvirt without kernel changes.
AI-written summary · about
chapters (4)
related talks
10mTowards a More Efficiently Synchronization in KVM
24mSupport for Fast and Reliable VMM Live Upgrades in Libvirt
15mKVM Live Upgrade with Properly Handling of Passthrough Devices
39mKVM Modifications for Clustered Operation
22mDevice Keepalive State for Local Live Migration and VMM Fast Restart
35mkdevops sync up
35mExtending Quality Management with Audio, Video, and KVM using Podman Quadlets
41mLeverage LXD/LXC with Kubernetes
