How Fast Can We Go? Booting a Linux VM to Userspace in 100ms and Beyond
summary
Claims a Linux VM boots to userspace in 100ms and reports 64 ms achieved on a modern desktop; measurement uses a guest-triggered PIO to a debug I/O port plus VMM logs, perf and custom tracing. Key fixes: remove serial PIO exits by switching to virtio-console, add quiet kernel cmdline, use pmem or 2MB huge pages (1GB hugepages hurts), reduce PCI probing via MCFG tuning, asynchronous kernel load and optimized PCI I/O fastpath. Some kernels and THP break results; disabling networking reaches sub-50ms.
AI-written summary · about
chapters (15)
- 0:00Start
- 2:15Motivation
- 3:25How to define boot time
- 4:17Measuring boot time
- 10:10Unexpected plot twist
- 11:49Optimised VM config
- 12:29What about THP?
- 13:12Cloud Hypervisor: History
- 14:10Cloud Hypervisor: Key optimisations
- 16:05PCI I/O Port Fast Path
- 16:50Tracing: Async kernel loading
- 18:50Cloud Hypervisor: Monitoring
- 20:22What happened?
- 20:53Below 50ms
- 22:16Summary
related talks
42mImproving Linux Boot Time for Automotive Use Cases
37mAccelerating Linux Boot Time: Techniques and Strategies for Optimal Performance
50mOptimizing for NVMe Drives: The 10 Microsecond Challenge
48mUnified Boot Time Measurement: A Precise, Scalable Framework for Multi-Processor Systems
41mLinux Systems Performance
24mSoftware Optimization for Early Linux Boot for Time Critical...
34mTweaking the Linux Boot Flow for an Accelerated ADAS Experience
39mTiming Boot Time Reduction Techniques
