Speaker
Description
Linux kernel fastboot is critical for all kinds of platforms: from embedded/smartphone to desktop/cloud, and it has been hugely improved over years. But, is it all done? Not yet!
This topic will first share the optimizations done for our platform, which cut the kernel (inside a VM) bootime from 3000ms to 300ms, and then list the future potential optimization points.
Here are our optimizations:
1. really enable device drivers' asynchronous probing, like i915 to improve boot parallelization
2. deferred memory init leveraging memory hotplug feature
3. Optimize rootfs mounting (including storage driver and mounting)
4. kernel modules and configs optimization
5. reduce the hypervisor cost
6. tools for profiling/analyzing
Potential optimizations spots for future, which needs discussion and collaboration from the whole community:
1. how to make maximal use of multi-core and effectively distribute boot tasks to each core
2. smp init for each CPU core costs about 8ms, a big burden for large systems
3. force highest cpufreq as early as possible (kernel decompress time)
4. devices enumeration for firmware (like ACPI) set to be parallel
5. in-kernel deferred memory init (for 4GB+ platform)
6. user space optimization like systemd
I agree to abide by the anti-harassment policy | Yes |
---|