Jump to content
  • Linus Torvalds accepts Microsoft's Hyper-V upgrade so next gen Linux boots faster


    Karlston

    • 260 views
    • 3 minutes
     Share


    • 260 views
    • 3 minutes

    While Windows fans and Linux fans love to engage in some fiery keyboard wars often, the makers of the OS themselves understand the strengths and weaknesses of each other. There is no doubt that Microsoft too gets it and in fact, it even encourages users to try Linux, albeit using its Windows Subsystem of Linux (WSL).

     

    Not just that, the company also often pushes upgrades that are meant to improve Linux performance or increase its functionality. For example, back in November 2022, Microsoft pushed nested virtualization or nested Hyper-V support. And in September last year, Linux boss Linus Torvalds accepted Hyper-V improvements related to AMD SEV-SNP guests and Intel TDX guests which were sent in by Microsoft's Principal Architect at Azure Machine Learning, Wei Liu.

     

    Torvalds has once again accepted new Hyper-V upgrades from Liu for Linux 6.12 and one of them in particular is of more interest from the performance point of view which was presented by Microsoft's Saurabh Singh Sengar:

     

    Pull Hyper-V updates from Wei Liu:

     

    • Optimize boot time by concurrent execution of hv_synic_init() (Saurabh Sengar)
    • Use helpers to read control registers in hv_snp_boot_ap() (Yosry Ahmed)
    • Add memory allocation check in hv_fcopy_start (Zhu Jun)

    The patch description explains how the parallelization of the hv_synic_init() function can improve the boot time on processors with many cores and NUMA (non-uniform memory access) nodes:

     

    Optimize boot time by concurrent execution of hv_synic_init()

     

    Currently on a very large system with 1780 CPUs, hv_acpi_init() takes around 3 seconds to complete. This is because of sequential synic initialization for each CPU performed by hv_synic_init().

     

    Schedule these tasks parallelly so that each CPU executes hv_synic_init() in parallel to take full advantage of multiple CPUs.

     

    This solution saves around 2 seconds of boot time on a 1780 CPU system, which is around 66% improvement in the existing logic.

    Sengar also did a recent presentation about his findings titled "Accelerating Linux Kernel Boot-Up for Large Multi-Core Systems" which delves into the details of this patch and other optimizations that are being made. You can find it here on the Linux Plumbers Conference (LPC) website.

     

    Source: LKML (link1, link2)

     

    Source


    RIP Matrix | Farewell my friend  :sadbye:

     

    Hope you enjoyed this news post.

    Thank you for appreciating my time and effort posting news every single day for many years.

    2023: Over 5,800 news posts | 2024 (till end of August): 3,792 news posts


    User Feedback

    Recommended Comments

    There are no comments to display.



    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...