Reworked x86_64 Parallel Boot Support Posted For The Linux Kernel
Being worked on for a while has been Linux kernel patches to speed boot times by allowing the parallel bring-up of CPU cores. There were AMD boot issues since worked around and the patches gone through multiple revisions for helping with Linux kernel boot times. Those patches continue to be improved upon and yesterday saw a reworked patch series posted.
Thomas Gleixner posted a set of 37 kernel patches that rework the parallel CPU bring-up for the Linux kernel to address problems brought up more recently in the review process. These patches deal with x86 microcode loader serialization requirements around ensuring that for Intel CPUs with Hyper Threading that the microcode is loaded on the primary thread. The patches also address some general design issues raised during the sixteenth round of review on the prior patches.
More details for those interested via this patch series.
These Linux kernel boot optimizations are particularly beneficial for high core count server CPUs. We'll see if these newest patches are now in good enough shape for getting picked up by mainline in some form.
Thomas Gleixner posted a set of 37 kernel patches that rework the parallel CPU bring-up for the Linux kernel to address problems brought up more recently in the review process. These patches deal with x86 microcode loader serialization requirements around ensuring that for Intel CPUs with Hyper Threading that the microcode is loaded on the primary thread. The patches also address some general design issues raised during the sixteenth round of review on the prior patches.
The reason why people are interested in parallel bringup is to shorten the (kexec) reboot time of cloud servers to reduce the downtime of the VM tenants. There are obviously other interesting use cases for this like VM startup time, embedded devices...
...
Adding the basic parallel bringup mechanism as provided by this series makes a lot of sense. Improving particular issues as pointed out in the analysis makes sense too.
But trying to solve an application specific problem fully in the kernel with tons of complexity, without exploring straight forward and simple approaches first, does not make any sense at all.
More details for those interested via this patch series.
These Linux kernel boot optimizations are particularly beneficial for high core count server CPUs. We'll see if these newest patches are now in good enough shape for getting picked up by mainline in some form.
11 Comments