Linux 6.1 arrive avec Rust, des améliorations de performances, des pilotes et plus

Linux Kernel

Linux Kernel

Après deux mois de développement, Linus Torvalds a annoncé la sortie de la nouvelle version du noyau Linux 6.1, dans lequel parmi les changements les plus notables: prise en charge du développement de pilotes et de modules en langage Rust, modernisation du mécanisme de détermination des pages mémoire utilisées, gestionnaire de mémoire spécial pour les programmes BPF, système de diagnostic des problèmes de mémoire KMSAN, le mécanisme de protection KCFI (Kernel Control -Flow Integrity), l'introduction de l'arbre de structure maple.

La nouvelle version reçu 15115 correctifs de la part de 2139 développeurs, la taille du patch est de 51 Mo, soit environ 2 fois moins que la taille des patchs du noyau 6.0 et 5.19.

Principales actualités sous Linux 6.1

Dans cette nouvelle version du Kernel qui est présentée, on peut constater que possibilité supplémentaire d'utiliser Rust comme deuxième langue pour développer des pilotes et des modules de noyau. La principale raison de la prise en charge de Rust est de faciliter l'écriture de pilotes de périphériques sûrs et de haute qualité en réduisant les risques d'erreurs de mémoire.

La prise en charge de Rust est désactivée par défaut et n'entraîne pas l'inclusion de Rust en tant que dépendance de construction du noyau requise. Jusqu'à présent, le noyau a adopté une version simplifiée et minimale du correctif, qui a été réduite de 40 à 13 XNUMX lignes de code et ne fournit que le strict minimum, suffisant pour construire un module de noyau simple écrit en Rust.

Dans l'avenir, il est prévu d'augmenter progressivement les fonctionnalités existantes, portant d'autres modifications de la branche Rust-for-Linux. En parallèle, des projets sont développés pour utiliser l'infrastructure proposée pour développer des contrôleurs de disque NVMe, le protocole réseau 9p et le GPU Apple M1 sur Rust.

Un autre changement notable concerne AArch64, RISC-V et LoongArch avec EFI, où la possibilité de charger directement des images de noyau compressées est implémentées, en plus ils ont ajouté pilotes pour charger, exécuter et télécharger des images du noyau, appelé directement depuis EFI zboot.

Des pilotes pour l'installation et la suppression de protocoles de la base de données de protocole EFI ont également été ajoutés. Auparavant, le déballage était effectué par un chargeur de démarrage séparé, mais il peut désormais être effectué par un pilote dans le noyau lui-même : l'image du noyau est construite en tant qu'application EFI.

une partie des patchs a été adopté avec la mise en place d'un modèle de gestion de la mémoire de différents niveaux qui permet des banques de mémoire séparées avec des caractéristiques de performance différentes. Par exemple, les pages fréquemment utilisées peuvent être stockées dans la mémoire la plus rapide, tandis que les pages moins fréquemment utilisées peuvent être stockées dans une mémoire relativement lente. Le noyau 6.1 adopte un mécanisme pour déterminer si les pages très utilisées sont en mémoire lente afin de les déplacer vers la mémoire rapide, et implémente le concept général de niveaux de mémoire et leurs performances relatives.

En plus de cela, nous pouvons également trouver que ajouté au sous-système BPF la possibilité de créer des programmes BPF "destructeurs" spécialement conçu pour déclencher un crash via l'appel crash_kexec(). De tels programmes BPF peuvent être nécessaires à des fins de débogage pour déclencher la création d'un vidage mémoire à un certain moment. L'accès aux opérations destructives lors du chargement d'un programme BPF nécessite que l'indicateur BPF_F_DESTRUCTIVE soit spécifié, que sysctl kernel.destructive_bpf_enabled soit défini et que les droits CAP_SYS_BOOT soient définis.

ont été faiteso Optimisations significatives des performances sur le système de fichiers BtrfsEntre autres choses, les performances des opérations fiemap et lseek ont ​​augmenté de plusieurs ordres de grandeur (la vérification des extensions partagées a été accélérée de 2 à 3 fois et le changement de position dans les fichiers a été accéléré de 1.3 à 4 fois). En outre, accélération de la journalisation des inodes pour les répertoires (augmentation de 25 % des performances et réduction de la latence de 21 % dans dbench), les E/S mises en mémoire tampon ont été améliorées et la consommation de mémoire a été réduite.

Ext4 ajoute des optimisations de performances lié à la journalisation et à l'opération en lecture seule, suppression de la prise en charge des attributs obsolètes noacl et nouser_xattr, également dans EROFS (Enhanced Read-Only File System), conçu pour être utilisé sur des partitions en lecture seule, implémente la possibilité Ensemble de stockage de données en double dans un fichier différent systèmes.

De l' autres changements qui se démarquent:

  • Ajout de la prise en charge des sous-systèmes audio implémentés dans les processeurs Apple Silicon, Intel SkyLake et Intel KabyLake.
  • Le contrôleur audio HDA ​​CS35L41 prend en charge le mode veille.
  • Ajout de la prise en charge des contrôleurs SATA AHCI utilisés dans le SoC Baikal-T1.
  • Ajout de la prise en charge des puces Bluetooth MediaTek MT7921, Intel Magnetor (CNVi, connectivité intégrée), Realtek RTL8852C, RTW8852AE et RTL8761BUV (Edimax BT-8500).
  • Ajout de pilotes pour le clavier PinePhone, les pavés tactiles InterTouch (ThinkPad P1 G3), le contrôleur adaptatif X-Box, le contrôleur de vol PhoenixRC, le contrôleur de voiture VRC-2, le contrôleur DualSense Edge, les panneaux de commande IBM, XBOX One Elite, les tablettes XP-PEN Deco Pro S et Intuos Pro petite (PTH-460).
  • Ajout du pilote pour les accélérateurs cryptographiques Aspeed HACE (Hash and Crypto Engine).
  • Ajout de la prise en charge des contrôleurs Intel Meteor Lake Thunderbolt/USB4 intégrés.
  • Ajout de la prise en charge des smartphones Sony Xperia 1 IV, Samsung Galaxy E5, E7 et Grand Max, Pine64 Pinephone Pro.
  • ARM SoC compatible avec AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 et RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8062 /BL i.MX8MM OSM-S , MT8195 (tomate Acer), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p. Informations sur SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom et NXP.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.