Tech

Linus Torvalds accepte la mise à niveau Hyper-V de Microsoft pour que la prochaine génération de Linux démarre plus rapidement

Lorsque vous effectuez un achat via des liens sur notre site, nous pouvons percevoir une commission d’affiliation. Voici comment cela fonctionne.

Sayan Sen

Néowin
·

22 septembre 2024 10:12 HAE

· Chaud!

Linus Torvalds accepte la mise à niveau Hyper-V de Microsoft pour que la prochaine génération de Linux démarre plus rapidement

Si les fans de Windows et de Linux aiment se livrer à des guerres de claviers acharnées, les développeurs des systèmes d’exploitation eux-mêmes connaissent les forces et les faiblesses de chacun. Il ne fait aucun doute que Microsoft l’a également compris et qu’il encourage même les utilisateurs à essayer Linux, même en utilisant son sous-système Windows de Linux (WSL).

En outre, l’entreprise propose souvent des mises à niveau destinées à améliorer les performances de Linux ou à accroître ses fonctionnalités. Par exemple, en novembre 2022, Microsoft a proposé la virtualisation imbriquée ou la prise en charge d’Hyper-V imbriquée. Et en septembre de l’année dernière, le patron de Linux, Linus Torvalds, a accepté les améliorations d’Hyper-V liées aux invités AMD SEV-SNP et aux invités Intel TDX qui ont été envoyées par Wei Liu, l’architecte principal de Microsoft chez Azure Machine Learning.

Torvalds a une fois de plus accepté de nouvelles mises à niveau Hyper-V de Liu pour Linux 6.12 et l’une d’entre elles en particulier est plus intéressante du point de vue des performances et a été présentée par Saurabh Singh Sengar de Microsoft :

Extraire les mises à jour Hyper-V de Wei Liu :

  • Optimiser le temps de démarrage en exécutant simultanément hv_synic_init() (Saurabh Sengar)
  • Utiliser des aides pour lire les registres de contrôle dans hv_snp_boot_ap() (Yosry Ahmed)
  • Ajout d’une vérification d’allocation de mémoire dans hv_fcopy_start (Zhu Jun)

La description du patch explique comment la parallélisation de la fonction hv_synic_init() peut améliorer le temps de démarrage sur les processeurs avec de nombreux cœurs et des nœuds NUMA (accès mémoire non uniforme) :

Optimiser le temps de démarrage en exécutant simultanément hv_synic_init()

Actuellement, sur un très grand système avec 1780 CPU, hv_acpi_init() prend environ 3 secondes pour se terminer. Cela est dû à l’initialisation synchrone séquentielle de chaque CPU effectuée par hv_synic_init().

Planifiez ces tâches en parallèle afin que chaque processeur exécute hv_synic_init() en parallèle pour tirer pleinement parti de plusieurs processeurs.

Cette solution permet d’économiser environ 2 secondes de temps de démarrage sur un système CPU 1780, ce qui représente une amélioration d’environ 66 % de la logique existante.

Sengar a également fait une présentation récente sur ses découvertes intitulée « Accélération du démarrage du noyau Linux pour les grands systèmes multicœurs » qui approfondit les détails de ce patch et d’autres optimisations en cours. Vous pouvez le trouver ici sur le site Web de la Linux Plumbers Conference (LPC).

Source : LKML (lien1, lien2)



Source link