Linux Page Faults, mmap, and userfaultfd for faster VM boots
Summary
The article explains Linux memory management concepts including demand paging, mmap mapping types, and userfaultfd-based page fault handling to achieve on-demand guest memory population for VM restores. It analyzes how VMMs interact with KVM, VFIO, and vhost-user, the pitfalls of mmap overlays, and the tradeoffs of on-demand paging vs eager restore, with practical numbers from Cloud Hypervisor and Firecracker implementations.