Microsoft Optimizes Hyper-V Code To Boot Linux Faster When Having Many CPUs
The Microsoft Hyper-V updates have been submitted for the Linux 6.12 kernel. They are mostly small changes but does bring work to optimize the boot time for large Hyper-V VMs.
The Hyper-V optimization worth pointing out is optimizing the VM boot time by allowing for the concurrent execution of the hv_synic_init() function. Microsoft engineer Saurabh Sengar pointed out that for VMs with many CPUs, like up to 1,780 vCPUs, the Hyper-V ACPI initialization function can take a number of seconds to complete due to sequential initialization for each CPU within hv_synic_init().
For Linux 6.12 and moving forward each CPU is executed in parallel for this function to provide around a 66% improvement to the existing logic. But in the grand scheme of things is just shaving off a second or two for these very large virtual machines with Hyper-V. But in a world of cloud computing with very large VMs and where downtime of seconds can even be critical, it's a notable improvement for helping to get VMs up or rebooted as fast as possible and leaving no optimization untouched.
The changes to Hyper-V by Microsoft engineers for Linux 6.12 can be found via this Git merge.
The Hyper-V optimization worth pointing out is optimizing the VM boot time by allowing for the concurrent execution of the hv_synic_init() function. Microsoft engineer Saurabh Sengar pointed out that for VMs with many CPUs, like up to 1,780 vCPUs, the Hyper-V ACPI initialization function can take a number of seconds to complete due to sequential initialization for each CPU within hv_synic_init().
For Linux 6.12 and moving forward each CPU is executed in parallel for this function to provide around a 66% improvement to the existing logic. But in the grand scheme of things is just shaving off a second or two for these very large virtual machines with Hyper-V. But in a world of cloud computing with very large VMs and where downtime of seconds can even be critical, it's a notable improvement for helping to get VMs up or rebooted as fast as possible and leaving no optimization untouched.
The changes to Hyper-V by Microsoft engineers for Linux 6.12 can be found via this Git merge.
1 Comment