Microsoft Optimizes Hyper-V Code To Boot Linux Faster When Having Many CPUs
([Microsoft] 5 Hours Ago
66% Faster)
- Reference: 0001492560
- News link: https://www.phoronix.com/news/Linux-6.12-Faster-Hyper-V-Boot
- Source link:
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 [1]this Git merge .
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1d7bb2bf7ad8c95cd50e97a83461610385b5259d
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 [1]this Git merge .
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1d7bb2bf7ad8c95cd50e97a83461610385b5259d
phoronix