Microsoft Optimizes Hyper-V Code To Boot Linux Faster When Having Many CPUs

Written by Michael Larabel in Microsoft on 19 September 2024 at 06:46 AM EDT. 1 Comment
MICROSOFT
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.

Many EPYC CPUs


The changes to Hyper-V by Microsoft engineers for Linux 6.12 can be found via this Git merge.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week