Booting the Linux kernel faster
Summary
Feng Tang shows measurement methods and parallelisation that cut the kernel start of a virtual platform from three seconds to 300 milliseconds. The presentation is from the Linux Plumbers Conference 2019. The measured kernel time fell from 3,000 to 300 milliseconds.
Ideas
- Asynchronous driver probing parallelises independent device initialisation.
- Deferred memory initialisation shortens the critical start-up path.
- A fast root mount requires well-matched storage and file system drivers.
- Smaller kernel configurations avoid unnecessary initialisation work.
Insights
- Boot optimisation starts with a reliable timeline rather than perceived delay.
- Parallelisation shifts dependencies and can change device names unexpectedly.
- Universal kernel configurations trade start-up time for broad hardware support.
Facts
- The platform ran inside a virtual machine.
Recommendations
- Create a boot timeline with repeatable measurements before optimising.
- After parallelising, check ordering assumptions in services and device names.
References
Links to the original source and the Web Archive open in a new tab.