Linus Torvalds接受微軟Hyper-V升級下一代Linux啟動會更快
雖然Windows 的粉絲和Linux 的粉絲經常喜歡進行激烈的鍵盤大戰,但作業系統的製造商們自己也了解彼此的優缺點。毫無疑問,微軟也明白這一點,事實上,它甚至鼓勵使用者嘗試Linux,儘管是使用它的Windows Linux 子系統(WSL)。
不僅如此,該公司還經常推出旨在提高Linux性能或增加其功能的升級。例如,早在2022 年11 月,微軟就推出了嵌套虛擬化或嵌套Hyper-V支援。而在去年9月,Linux的領導者Linus Torvalds接受了微軟Azure機器學習首席架構師劉偉發來的與AMD SEV-SNP客座和英特爾TDX客座相關的Hyper – V改進。
托瓦爾茲再次接受了劉博士為Linux 6.12 提供的新Hyper-V 升級,其中微軟的紹拉布-辛格-森格爾(Saurabh Singh Sengar)從性能角度提出的升級更令人感興趣:
從Wei Liu 提取Hyper-V 更新:
- 透過並發執行hv_synic_init(),優化啟動時間(Saurabh Sengar)
- 使用幫助程式讀取hv_snp_boot_ap() 中的控制暫存器(Yosry Ahmed)
- 在hv_fcopy_start 中加入記憶體分配檢查(Zhu Jun)
補丁說明解釋了hv_synic_init()函數的並行化如何改善多核心處理器和NUMA(非統一記憶體存取)節點的啟動時間:
透過並發執行hv_synic_init(),優化啟動時間
目前,在一個擁有1780 個CPU 的超大型系統上,hv_acpi_init() 大約需要3 秒鐘才能完成。這是因為hv_synic_init()要對每個CPU 依序進行協同初始化。
並行安排這些任務,使每個CPU 並行執行hv_synic_init(),以充分利用多個CPU 的優勢。
在1780 CPU 系統上,此解決方案可節省約2 秒的啟動時間,比現有邏輯改進了約66%。
Sengar 最近也為他的研究成果做了一個題為”加速大型多核心系統的Linux 核心啟動”的演講,深入探討了這個補丁的細節和正在進行的其他優化。你可以在Linux Plumbers Conference (LPC) 網站上找到它。