Le noyau Linux est l'épine dorsale des systèmes d'exploitation (OS) Linux et constitue l'interface fondamentale entre le matériel d'un ordinateur et ses processus.
Récemment Linus Torvalds a dévoilé la sortie du nouveau noyau Linux version 6.7, qui est présenté après deux mois de développement et parmi les changements les plus notables figurent l'intégration du système de fichiers Bcachefs, l'arrêt du support de l'architecture Itanium, la capacité de Nouveau à fonctionner avec le firmware GSP-R, la prise en charge du cryptage TLS dans NVMe-TCP, la possibilité d'utiliser des exceptions dans BPF, entre autres.
La nouvelle version du noyau Linux 6.7 Il est composé de 15291 XNUMX corrections et environ 45 % de toutes les modifications introduites sont liées aux pilotes de périphériques, 14 % des modifications sont liées à la mise à jour de code spécifique pour les architectures matérielles, 13 % sont liées à la pile réseau, 5 % sont liées aux systèmes de fichiers et 3 % sont liées à sous-systèmes internes du noyau.
La taille du correctif est de 72 Mo (les modifications ont affecté 13.467 906.147 fichiers, 341.048 XNUMX lignes de code ont été ajoutées et XNUMX XNUMX lignes ont été supprimées).
Principales nouveautés du noyau Linux 6.7
Intégration du système de fichiers Bcachefs
Linux 6.7 adopte le code du système de fichiers Bcachefs, qui tente d'atteindre les performances, la fiabilité et l'évolutivité de XFS, combinées avec des éléments des fonctionnalités avancées de Btrfs et ZFS.
Bcachefs prend en charge des fonctionnalités telles que l'inclusion multi-appareils sur une partition, des conceptions de disques multicouches (la couche inférieure avec les données fréquemment utilisées basées sur des SSD rapides et la couche supérieure avec les données des disques durs les moins utilisés), réplication (RAID 1/10), mise en cache, compression transparente des données (modes LZ4, gzip et ZSTD), coupures d'état, vérification de l'intégrité à l'aide de sommes de contrôle, possibilité de stocker des codes de correction d'erreur Reed-Solomon (RAID 5/6), stockage d'informations sous forme cryptée (ChaCha20 et Poly1305 sont utilisés) . En termes de performances, Bcachefs est en avance sur Btrfs et autres systèmes de fichiers basé sur le mécanisme de copie sur écriture et démontre une vitesse de fonctionnement proche d'Ext4 et de XFS.
Améliorations de Btrfs
Sous Linux 6.7 Un mode de quota simplifié a été implémenté pour Btrfs ce qui permet de meilleures performances en suivant les extensions uniquement dans la sous-partition dans laquelle elles sont créées, ce qui simplifie grandement les calculs et améliore les performances, mais il ne permet pas de partager des extensions entre plusieurs sous-partitions. De plus, une nouvelle structure de données d'arbre à bandes a été ajoutée à Btrfs, adaptée au mappage d'extension logique dans les situations où le mappage physique ne correspond pas entre les appareils. La structure est actuellement utilisée dans les implémentations RAID0 et RAID1 pour les périphériques bloc zonés.
Arrêt du support de l'architecture Itanium (ia64)
Le prise en charge de l'architecture ia64 utilisée dans les processeurs Intel Itanium, qu'est-ce que c'estnous complètement suspendus en 2021. Intel a introduit les processeurs Itanium en 2001, mais l'architecture ia64 n'a pas pu rivaliser avec l'AMD64, principalement en raison des performances plus élevées de l'AMD64 et de la transition plus fluide des processeurs x86 32 bits. Linus Torvalds a exprimé sa volonté de rendre son soutien ia64 au noyau, mais ouiseulement s'il existe un responsable capable de démontrer une haute qualité de support pour cette plateforme hors du noyau principal pendant au moins un an.
Migration continue des modifications depuis la branche Rust-for-Linux
La nouvelle version passe à la version Rust 1.73 et propose un ensemble de hooks pour travailler avec les files d'attente de travail.
Améliorations dans la mise en œuvre des files d'attente FIFO
Dans cette nouvelle version de Linux 6.7, le implémentation d'un mécanisme FIFO léger les connexions uniques qui nécessitent un spinlock uniquement pour la sortie de la file d'attente dans un contexte de processus et s'en dispensent pour les ajouts atomiques à la file d'attente dans n'importe quel contexte. De plus, un tampon circulaire objpool a été ajouté avec une implémentation évolutive d'une file d'attente hautes performances pour allouer et renvoyer des objets.
Prise en charge du chiffrement TLS pour NVMe-TCP
Sous Linux 6.7 le pilote NVMe-TCP (qui permet d'accéder aux disques NVMe via le réseau), Ajout de la prise en charge du cryptage du canal de transmission de données à l'aide de TLS (en utilisant KTLS et un processus en arrière-plan) dans l'espace utilisateur tlshd pour la négociation de connexion.
Performances améliorées du planificateur de packages
Performances optimisées du planificateur de packages FQ, qui a permis d'augmenter les performances de 5% sous fortes charges dans le test tcp_rr (TCP Request/Response) et de 13% avec un flux illimité de paquets UDP.
Adoption de l'option d'authentification TCP
La prise en charge a été ajoutée à la pile TCP pour l'extension TCP-AO qui permet de vérifier les en-têtes TCP à l'aide de codes MAC, en utilisant des algorithmes HMAC-SHA1 et CMAC-AES-128 plus modernes au lieu de l'option TCP-MD5 précédemment disponible basée sur l'algorithme Legacy MD5. .
De l' autres changements qui se démarquent:
- De nouveaux paramètres ont été ajoutés «cpuset.cpus.exclusive" et "cpuset.cpus.exclusive. Efficace» vers cpuset pour la liaison exclusive au processeur.
- Le sous-système BPF implémente la prise en charge des exceptions, qui sont traitées comme une sortie de secours d'un programme BPF avec la possibilité de dérouler en toute sécurité les cadres de pile. De plus, les programmes BPF permettent l'utilisation de pointeurs kptr en relation avec le CPU.
- Pour les architectures ARM32 et S390x, la prise en charge de l'ensemble actuel (cpuv4) d'instructions BPF a été ajoutée.
- Pour l'architecture RISC-V, il est possible d'utiliser le mode de vérification Shadow-Call Stack disponible dans Clang 17, conçu pour se protéger contre l'écrasement de l'adresse de retour d'une fonction en cas de débordement de tampon sur la pile.
- Un nouveau mode de numérisation intelligent des pages mémoire a été ajouté au mécanisme de fusion des pages mémoire identiques (
- AppArmor a ajouté la possibilité de contrôler l'accès au mécanisme io_uring et de créer des espaces de noms utilisateur, vous permettant d'autoriser de manière sélective l'accès à ces fonctionnalités uniquement à certains processus.
- Ajout de l'API de certification VM pour vérifier l'intégrité du processus de démarrage de la VM.
- Les systèmes LoongArch prennent en charge la virtualisation à l'aide de l'hyperviseur KVM.
- Ajout de la prise en charge initiale du micrologiciel GSP-RM au module du noyau Nouveau, qui est utilisé dans le GPU NVIDIA RTX 20+ pour déplacer les opérations d'initialisation et de contrôle du GPU vers le côté d'un microcontrôleur GSP.
enfin si tu es intéressé à en savoir plus, vous pouvez vérifier les détails dans le lien suivant.