Microsoft Trims Hyper-V Boot Time By Minutes For Big Azure VMs With Linux 5.19

Written by Michael Larabel in Microsoft on 29 May 2022 at 08:00 AM EDT. Add A Comment
A Microsoft-contributed fix as part of their Hyper-V updates for the Linux 5.19 kernel can shave minutes off their Azure VM boot times when launching a virtual machine with numerous GPUs.

Microsoft landed a change in their Hyper-V PCI Linux driver to not set "PCI_COMMAND_MEMORY" to avoid the lengthy amount of time spent at boot by the host to unmap/map the vBAR from/to the pBAR when the VM is booting and sets that bit. For their powerful accelerators with up to 128GB of RAM, the unmap/map on a 128GB BAR can take 1.8 seconds and that operation is performed eight times with the current Linux/pci-hyperv code during boot time. It amounts to around 14 seconds of additional boot time per GPU/accelerator.

Quite the boot time savings for big GPU-accelerated VM offerings on Azure.

Thus for their largest Azure VMs currently with 14 GPUs/accelerators, the current kernel behavior can induce an additional 176 seconds to the boot time... Linux 5.19 trims off that nearly three minutes from the VM boot time.

In addition to that Hyper-V PCI change to reduce the boot time on GPU-accelerated Azure VMs, there is also security hardening carried out to their PCI and hv_sock drivers, various fixes, removing code for Hyper-V versions that have long been end-of-life, and other fixes. See this pull for the complete list of Microsoft Hyper-V updates for Linux 5.19.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of 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 automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week