Linux 5.8 est sorti - l'un des meilleurs. Un aperçu plus détaillé



Début août, Linus Torvalds a présenté une nouvelle version du noyau Linux. Selon une longue tradition, la sortie du plus grand projet open source lui-même se produit assez régulièrement, le créateur écrit un email à ses collègues de l'atelier avec un bref résumé de la nouvelle version stable du noyau.



Une caractéristique du noyau 5.8 était le nombre record de changements sur toute l'existence du projet. Il n'y avait qu'une seule version majeure du noyau Linux 4.9, mais elle était artificiellement gonflée à cause du nouveau sous-système greybus, tandis que la 5.8 intégrait plus de changements dans de nombreuses directions différentes. Voyons ce qui est si utile et intéressant dans Linux 5.8, et en même temps 5.8.1, principalement pour les utilisateurs ordinaires et les postes de travail.



Le patch 64 MiB contient le travail de 1991 développeurs, dont 304 nouveaux. Les efforts de la communauté ont ajouté 904K et supprimé 553K lignes de code. Si vous regardez les entreprises, parmi les plus actives, il y a des noms familiers.



  • Intel;
  • Technologies Huawei;
  • Habana Labs;
  • Chapeau rouge;
  • Google;
  • Linaro;
  • IBM;
  • AMD;
  • Mellanox;
  • SUSE;


Graphique



La part du lion de la base de code du noyau Linux est occupée par les pilotes, il n'est donc pas du tout surprenant qu'une partie importante des modifications et des mises à jour de versions leur soit consacrée.



Prise en charge du pilote GPU Adreno 405/640/650



Grâce à la mise à jour ouverte du pilote MSM (Freedreno), la prise en charge des GPU Qualcomm Adreno 405, 640 et 650 a été ajoutée. Ces GPU mobiles peuvent être vus sur certains des derniers SoC (système sur puce) tels que Snapdragon 855+ et Snapdragon 865. Ces puces peuvent être trouvés dans les smartphones Samsung Galaxy S10 / S20, OnePlus et de nombreux autres gadgets.



Dans le même temps, dans le cadre des API ouvertes OpenGL et Vulkan, les pilotes Adreno continuent de se développer, respectivement avec Freedreno Gallium3D et TURNIP. De nouveaux changements seront inclus dans Mesa 20.2-devel.



De nombreuses améliorations des pilotes amdgpu



AMD a fait tout son possible pour améliorer la qualité des pilotes graphiques sous Linux 5.8. Parallèlement à des performances accrues, la possibilité d'utiliser des tampons de mémoire vidéo cryptés (Trusted Memory Zone) a été mise en œuvre.



AMD Radeon Trusted Memory Zone est conçu pour protéger les pages sélectionnées contre la lecture par le processeur et d'autres clients non GPU et pour empêcher les écritures sur les pages protégées par TMZ.



De plus, la prise en charge du format de pixel FP16 a été ajoutée au pilote et un travail approfondi a été effectué pour fournir un partage de tampon DMA peer-to-peer entre les périphériques (p2p DMA-BUF) sans prise en charge des pages de mémoire système.



Systèmes de fichiers



Prochaines mises à jour des controversés Btrfs, FAT, exFAT et autres.



Améliorations diverses de Btrfs



OpenSUSE et SUSE Linux sont parmi les rares à utiliser Btrfs comme système de fichiers principal. Sans surprise, SUSE a publié un certain nombre de correctifs pour ce système de fichiers. En conséquence, Btrfs a amélioré la gestion des lectures d'E / S.



  • Le code d'E / S direct a été porté aux interfaces iomap;
  • maintenant, lorsque la suppression d'un volume imbriqué échoue en raison d'un manque d'espace, le système de fichiers ne passe pas en mode lecture seule;
  • élimination de divers défauts et nettoyage du code.


Compression à l'aide de l'algorithme LZO-RLE dans F2FS



Un nouvel ajout notable au système de fichiers Flash Friendly dans le nouveau noyau Linux est le format de compression LZO-RLE. LZO Run-Length Encoding cible les mêmes taux de compression que l'algorithme LZO standard, mais avec des performances plus élevées. Cela est devenu possible après que l'implémentation LZO-RLE ait été introduite dans le noyau l'année dernière par ARM.



Prise en charge de la vérification de la zone de démarrage exFAT



Samsung a introduit des améliorations exFAT pour le noyau Linux 5.8, et la nouvelle version du pilote comprend un certain nombre de correctifs et d'optimisations. En particulier, le code a été nettoyé, la journalisation a été améliorée et la fonction de mise en cache des enregistrements a été optimisée. En outre, les ingénieurs de la société ont ajouté une nouvelle fonctionnalité - vérifier la zone de démarrage pour exFAT.



Amélioration des performances d'E / S SMB v3 / CIFS



Un nouveau paramètre nodelete a été défini, avec lequel le client peut exécuter des contrôles réguliers sur le serveur, mais il est interdit de supprimer des fichiers et des dossiers. Les correctifs SMB v3 incluent des améliorations de performances significatives pour les E / S volumineuses lors de l'utilisation du multicanal, ainsi que des correctifs DFS.



Améliorations du chargement rapide des éléments dans FAT



La lecture anticipée des enregistrements FAT dans la version précédente était très simple, mais présentait certains inconvénients qui la rendaient inefficace dans certains environnements.

Grâce au mécanisme de mise à jour de la fenêtre de lecture anticipée jusqu'à épuisement complet et aux bdi-> ra_pages personnalisables, nous avons obtenu des améliorations de performances significatives. Le test a été effectué sur une clé USB lente de 2 To et le résultat a été une réduction du temps de test de 383 à 51 secondes.



Prise en charge DAX pour Ext4 et XFS



DAX, ou Direct Access, est conçu pour accéder directement au système de fichiers en contournant le cache de page. Contourner la mise en cache des pages en mode DAX signifie éliminer une copie supplémentaire en lecture / écriture sur le périphérique de stockage. Cela permet à son tour au périphérique de stockage d'être mappé directement et plus efficacement sur l'espace utilisateur.



Ces améliorations de code DAX d'Intel permettent d'activer le mode d'accès direct pour chaque inode, plutôt que d'être simplement activé ou désactivé pour l'ensemble du système de fichiers. En outre, à l'aide de l'appel système statx (), vous pouvez interroger l'état de l'accès direct à un fichier spécifique à partir de l'espace utilisateur.



Sous-système réseau



La pile TCP / IP du noyau Linux occupe une place particulière dans l'image globale, compte tenu de l'importante complexité de l'architecture et des énormes possibilités d'utilisation dans une grande variété de périphériques. L'infrastructure réseau plus que d'autres assure la domination du système d'exploitation Linux sur les serveurs et continue d'évoluer à pas de géant.



  • Netfilter, le module nftables fournit des mises à jour dynamiques des périphériques pour les tables de flux;
  • * MRP, prise en charge supplémentaire du protocole de redondance des médias - norme de réseau CEI 62439-2. Le protocole permet de fournir une résilience aux pannes réseau en combinant plusieurs commutateurs Ethernet dans un anneau, tout en étant plus rapide que STP.
  • Bluetooth, nouveaux pilotes pour Realtek RTL8761B, Intel Typhoon Peak et Qualcomm QCA6390;
  • lx5/mlx5e, Mellanox , 10, 40 100 . mlx5 mlx5e TLS, IPsec, MPLS ;
  • rnbd, RNBD RDMA RTRS. , - .


Wi-Fi



  • ath10k - VHT160 VHT80+80. Qualcomm Atheros IEEE 802.11ac Wifi 5(802.11ac).
  • Le pilote iwlwifi prend désormais en charge ACPI DSM (méthode spécifique au périphérique) pour les nouvelles puces Intel.


Mises à jour Ipv6



  • La pile Ipv6 prend en charge MPLS;
  • Ajout de l'encapsulation IPv6 pour ESP sur le transport UDP et TCP;
  • La prise en charge de la RFC 6069 a été implémentée.La norme décrit l'algorithme de perturbations de la connectivité TCP longue, qui permet de rendre le transport TCP plus résilient aux pannes de communication à long terme.


sécurité



Cela inclut les correctifs liés aux failles de sécurité Intel telles que Spectre, SELinux, le blocage des modules du noyau avec des bits d'exécution et d'écriture, un générateur de nombres aléatoires, etc.



Corrections de spectre



Il est clair qu'Intel ne dépassera pas de si tôt son plan visant à résoudre toutes les conséquences de la vulnérabilité de classe Spectre dans ses chipsets.



Nous parlons de plusieurs correctifs urgents pour le noyau Linux pour gérer l'exécution spéculative des instructions x86 / x86_64. Cela s'est produit après qu'un ingénieur en sécurité de Google a découvert la vulnérabilité et le fait que l'un des correctifs précédents, en tant qu'effet secondaire, affecte les processeurs AMD.



Indirect Branch Prediction Barrier (IBPB) - la protection contre les attaques du tampon de branche cible pour la deuxième variante de Spectre sera désactivée de force sous Linux. La condition est des scénarios où le STIBP n'est pas disponible ou la spéculation indirecte restreinte des branches (IBRS) est disponible.



Chips et chipsets



Il y a eu de nombreux changements dans Linux 5.8 pour l'architecture ARM.



Prise en charge du démarrage initial pour les processeurs Power 10



Power 10 est un futur processeur d'IBM et de la Fondation OpenPOWER, qui devrait être mis en vente en 2021 et sera fabriqué à l'aide d'un processus 7 nm. Selon les données préliminaires, la nouvelle puce offre des améliorations significatives par rapport à la microarchitecture existante Power 9.



En plus du support de démarrage de base pour l'architecture Power 10, le noyau Linux 5.8 prend également en charge le jeu d'instructions préfixées Power 10.



Prise en charge des nouveaux SoC ARM



Conformément à la progression du sous-système du noyau Linux pour Android, les éléments suivants ont été ajoutés à la liste des appareils pris en charge:



  • Realtek RTD1195 comme solution Arm Cortex A7;
  • Realtek RTD1395;
  • Realtek RTD1619;
  • Plateforme Renesas RZ / G1H;
  • SoC Rockchips RK 3326 64 bits à petit budget avec console de jeu Odroid-GO Advance;
  • Boîtier TV Smartlabs SML-5442TW basé sur AMLogic S905D;
  • ODROID-C4 basé sur AMLogic S905X3;
  • TV-box Beelink GT-King Pro basé sur AMLogic S922XH;
  • Contrôleur de gestion des plinthes basé sur Aspeed ast 2500 sur Facebook x86 Yosemite V2 et YADRO OpenPower P9 Nicole ;
  • Olimex A20-OLinuXino-LIME-eMMC SBC;
  • Routeur Check Point L-50;
  • Chromebooks Elm / Hana basés sur Mediatek MT8173;
  • Smartphone Samsung Galaxy S2 basé sur Samsung Exynos 4210;
  • Plateforme Qualcomm SDM660 / SDM630 et smartphone Xiaomi Redmi Note 7;
  • Boîtier TV Xnano X5 basé sur Realtek RTD1295;


Nouveau pilote AMD Energy



Le nouveau pilote AMD Energy très attendu pour la surveillance des capteurs d'énergie sur les processeurs Zen / Zen 2. Cela vous permet d'obtenir des rapports d'énergie sur chaque socket / cœur sur les processeurs AMD Zen / Zen2.



Interface Thunderbolt / USB4 sur les processeurs Intel Tiger Lake



Avec seulement 28 lignes de code dans ce patch , la prise en charge Thunderbolt / USB4 des puces Tiger Lake est en grande partie due à la réutilisation d'Ice Lake.



L'interface Thunderbolt peut également fonctionner sur l'architecture ARM à l'aide d'une carte d'extension Thunderbolt PCIe. Il n'y a actuellement aucun appareil SoC ARM disponible.



Version stable de Linux 5.8.1



La version mineure de Linux 5.8.1 est une mise à jour mineure qui modifie un total de 40 fichiers avec 548 insertions et 186 suppressions. Il contient principalement des corrections de bogues pour divers pilotes:



  • GPIO, max77620;
  • LED;
  • SCSI;
  • MTD;
  • PCI, tegra;
  • USB;
  • du son;
  • vidéo;
  • Mises à jour de l'architecture ARM64;
  • Mises à jour de l'architecture PowerPC.


Quel noyau est le plus utile?



Toujours lors de la publication d'une nouvelle version stable du noyau Linux avec de nombreuses mises à jour utiles, il peut être difficile de télécharger immédiatement l'archive à partir de kernel.org , de modifier les paramètres de menuconfig ou de xconfig, de compiler et de démarrer à partir de l'image nouvellement créée. Pourtant, vous ne devriez pas vous précipiter et voici pourquoi.



Greg Kroah-Hartman, mainteneur de branches stables, a compilé une petite évaluation des branches stables. Voilà à quoi ça ressemble.



  1. Un noyau stable et à jour pour votre distribution Linux.
  2. Dernière version stable.
  3. Dernière version de LTS (Long Term Support);
  4. Version antérieure de LTS qui est toujours prise en charge.


En premier lieu, sur le critère de l'opportunité, il y a le noyau Linux, compilé spécifiquement pour votre distribution. Il contient tous les correctifs nécessaires et les paramètres spéciaux. De plus, les développeurs de la distribution font beaucoup de travail sur le rétroportage des corrections de bugs, et parfois de nouvelles fonctions au code du noyau, et tout cela dans une volonté naïve de ne pas changer le numéro de version majeur, malgré la présence de plusieurs milliers de changements.



Avec ces considérations à l'esprit, il est logique d'attendre que le nouveau noyau soit disponible pour votre distribution. Pour Debian Linux et RHEL, ainsi que pour les appareils Android, il peut s'écouler des années avant qu'un nouveau noyau soit en production. Cependant, il existe des tonnes de distributions pour les stations de travail et les utilisateurs généraux pour lesquelles un nouveau noyau devient disponible en quelques semaines.



Les nouvelles distributions Ubuntu Linux 20.10 (Groovy Gorilla) seront livrées avec le noyau Linux 5.8 en octobre 2020.



Matériaux utilisés








All Articles