Sélectionner une page

Formation > Blog > DevOps > Linux Kernel 6.13 : Fin de ReiserFS, Data Center plus Green ♻️

Sortie de Linux 6.13

Sorti comme prévu le dimanche 19 janvier 2025, mais non sans tumulte, le noyau Linux 6.13, sans être révolutionnaire, apporte comme toujours son lot de nouveautés et de changements. En éléments notables, on peut noter la fin du support du très controversé système de fichier ReiserFS, des gains énergétiques impressionnant pour les Data Centers, de meilleures perfs en 3D pour les utilisateurs de Raspberry, ou encore une infrastructure pour construire les premiers pilotes en Rust. Découvrons cela de suite.

Une sortie perturbée

La sortie du noyau Linux 6.13 a été perturbée en raison d’un correctif proposé par un ingénieur de Microsoft (Mike Rapoport). Ce correctif visait à améliorer les performances en modifiant la gestion de la mémoire exécutable en lecture seule (ROX, Read Only Execute) pour les architectures x86_64.

Cependant, cette modification a introduit des problèmes, notamment des incompatibilités avec certaines implémentations de l’intégrité du flux de contrôle (CFI, Control-Flow integrity) et des échecs de reprise après hibernation sur certains ordinateurs portables équipés de puces Intel.

En conséquence, quelques jours avant la sortie officielle, la communauté a décidé de désactiver temporairement cette fonctionnalité pour résoudre les multiples problèmes rencontrés et la réintroduire éventuellement dans la future version du noyau 6.14 et heureusement pour nous, ça semble bien parti.

Il est également intéressant de noter que ce changement avait été proposé en dehors du cadre traditionnel de soumission. Effectivement, il s’avère que les responsables de Linux x86/x86_64 n’avaient même pas approuvé cette modification, bien qu’elle ait été intégrée à la branche principale du noyau Linux. Borislav Petkov, développeur Linux de longue date chez AMD, a fait remarquer :

« J’adore la façon dont cela s’est déroulé sans qu’un seul responsable x86 ne fasse d’Ack [accusé de réception par un pair], cela a cassé un tas de choses et puis c’est toujours là au lieu d’être annulé.
Ne faisons plus ça, s’il vous plaît. »
 

Suppression de ReiserFS

Déjà dépréciée depuis la version 6.6 datant d’octobre 2023, la version 6.13 acte définitivement la suppression de ReiseFS-3 (la version 4 n’ayant jamais été supportée officiellement par la branche principale), cela a permis de supprimer près de 107 000 lignes de code. L’occasion, pour la communauté open source, de tourner la page sur l’un des sujets les plus sulfureux de ces 20 dernières années (pour l’anecdote : son auteur Hans Reiser est en prison pour le meurtre de sa femme, et avant cela, il avait tendance à délaisser rapidement les différentes versions de son FS à la communauté).

MEILLEURES Performances énergétiques en Data Center

Linux 6.13 introduit une amélioration notable qui peut optimiser les performances des centres de données. Une modification d’environ 30 lignes de code dans la pile réseau du noyau permet de réduire à la fois la consommation d’énergie des centres de données, mais aussi d’améliorer le débit réseau.

Selon les tests, cette modification peut augmenter le débit réseau jusqu’à 45 % sans compromettre la latence. La réduction de la consommation d’énergie, atteignant jusqu’à 30%, est particulièrement significative pour les applications à fort trafic réseau, telles que les serveurs proxy inversés ou les systèmes de mise en cache.

Explication technique de CET incroyable GAIN

Traditionnellement, le traitement des paquets réseau dans Linux est déclenché par des interruptions matérielles (IRQ). À chaque réception de données, une interruption est générée, obligeant le processeur à interrompre sa tâche en cours pour traiter le paquet.

Cette approche est efficace pour des charges de travail variées, mais peut entraîner une surcharge en présence d’un trafic réseau intense.

La nouvelle approche introduite dans le noyau 6.13 adopte un mécanisme de « polling adaptatif ». Pendant les périodes de trafic élevé, le système passe du mode basé sur les interruptions à un mode de sondage actif, où l’application vérifie elle-même la présence de nouvelles données lorsqu’elle est prête à les traiter.

Cela réduit le nombre d’interruptions, permettant au processeur de consacrer plus de temps au traitement des données, améliorant ainsi le débit et l’efficacité énergétique. Lorsque le trafic diminue, le système revient au mode basé sur les interruptions pour économiser de l’énergie.

Aller plus loin dans l’expertise GREEN IT

L’équipe Ambient IT

Les principales nouveautés en détail

1. Améliorations et corrections pour l’architecture x86

  • Synchronisation du MSR RSP0 de FRED avec les valeurs spécifiques à chaque CPU pour éviter les erreurs de double défaut.
  • Désactivation temporaire de EXECMEM_ROX à cause de problèmes de compatibilité.
  • Pilote amd-pstate cpufreq par défaut sur les AMD Epyc.
  • Support PMU pour les Intel ArrowLake-H, Panther Lake.

2. Gestion des timers

  • Reset des hrtimers lors des transitions d’état CPU : Évite des dysfonctionnements liés au hotplug CPU.
  • Résolution de problèmes de concurrence dans l’accès aux groupes de timers.
  • Prise en charge correcte des signaux ignorés dans certains scénarios.

3. Interruptions et IRQ

  • Correction de fuites de nœuds OF dans l’initialisation de irqchip.
  • Ajout de mécanismes pour gérer correctement les interruptions NMI sur certains systèmes Sunxi.
  • Gestion améliorée des états de basse consommation pour le GIC v3.

4. Ordonnanceur (scheduler)

  • Lazy preemption support : un effort pour simplifier la logique de préemption du noyau et les options de configuration afin d’obtenir de meilleurs résultats. Avec le temps, son ajout pourrait entraîner une réduction des appels liés au planificateur dans le reste du noyau.
  • Ajustement des entités de groupe vides pour éviter des artefacts dans la planification.
  • Résolution des problèmes de placement d’entités causant des retards dans la planification.
  • Le Workqueue (WQ) du noyau Linux est utilisé pour gérer l’exécution asynchrone des processus et sa limite de 512 avait été fixée il y a bien longtemps, est aujourd’hui trop basse. Afin de la moderniser, la limite maximale WQ_MAX_ACTIVE de simultanéité de la file d’attente est passée de 512 à 2048.

5. Améliorations pour les pilotes et plateformes

  • Corrections diverses pour les pilotes x86 (Dell, Lenovo Yoga Tab).
  • Gestion des problèmes d’initialisation dans le contrôleur de réinitialisation Renesas.
  • Améliorations des pilotes GPU, y compris pour AMD et Intel (Xe).

6. Réseau et BPF

  • Suspension NAPI pour un réseau plus efficace : Pendant une période d’activité, le système fonctionne en mode « busy polling », ce qui permet d’éviter les interférences. Pendant une période d’inactivité, le système repasse en mode de report d’interruption, mais avec un petit délai d’attente pour éviter les latences excessives.
  • Nouvelle API de périphérique de réseau plus flexible pour configurer la mise en forme TX H/W : Exposées via une interface générique netlink nouvellement définie et qui incluent des capacités d’introspection.
  • Corrections pour la gestion des paquets IPsec dans les pilotes mlx5.
  • Résolution de problèmes liés à SMB3, notamment des doubles libérations en cas de reconnexion.

7. Améliorations de la gestion de la mémoire

  • Modifications dans la gestion de zswap pour des allocations plus efficaces.
  • Résolution d’une fuite de références dans l’API I2C.
  • Amélioration de la gestion des pages lors des défaillances de swap.

8. Support de traçage (tracing)

  • Réintroduction des valeurs lisibles pour les événements de traçage GFP.
  • Corrections pour les traceurs IRQSOFF et wakeup latency.

9. Graphique

  • Le pilote de noyau Broadcom V3D a été fortement amélioré, ce qui devrait plaire aux utilisateurs de Raspberry Pi. La prise en charge des « super pages » de 1 Mo et des « grandes pages » de 64 Ko devrait permettre d’obtenir des performances graphiques beaucoup plus rapides pour les jeux et les applications utilisant beaucoup de mémoire.
  • les pilotes GDM724x et VT6655 ont été retirés.

10. Sécurité

  • Possibilité d’exécuter Linux sur une VM protégée tournant sur Arm CCA (Confidential Compute Architecture).
  • Sécurité renforcée : Support pour les piles d’ombre en espace utilisateur sur ARM64, contribuant à une meilleure protection contre les exploits.

11. Systèmes de fichiers

  • Écritures atomiques : Support pour les écritures atomiques dans les systèmes de fichiers XFS et Ext4, améliorant ainsi la cohérence des données lors des opérations d’écriture.
  • Améliorations diverses : Optimisations de io_uring, ajout de pages de garde légères, et mécanisme de comptage de références plus évolutif pour les opérations sur les fichiers.
  • Prise en charge des horodatages à grain fin : Avec le support des fine-grained timestamps, le noyau permet désormais des horodatages plus précis sans impacter les performances, classiquement associés aux horodatages haute résolution pour chaque fichier.

12. Rust

  • Toujours dans l’optique d’intégrer Rust au cœur de Linux. Un gros travail a été fait pour proposer prochainement les premiers pilotes codés en langage Rust. Cette nouvelle infrastructure inclut des abstractions de fichiers en Rust, élargissant les possibilités pour les développeurs souhaitant utiliser ce langage au sein du noyau.

Aller plus loin dans l’expertise SUR RUST

L’équipe Ambient IT

Perspectives pour l’avenir

En conclusion, cette première mouture de l’année du Kernel apporte son lot habituel de nouveautés et un ménage traditionnel de son code (ReiserFS) réduisant ainsi la complexité et le volume de code. On peut surtout noter des gains sur la consommation énergique très prometteurs pour les Data Centers, une bonne chose pour l’environnement et l’écologie si cela se matérialise dans les faits. Enfin, côté couac, le patch ROX, pourtant prometteur, proposé initialement par un employé de chez Microsoft, ne sera pas actif pour le moment, en attendant une révision et une stabilité de celui-ci pour une future intégration.

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.

ILS SE SONT FORMÉS CHEZ NOUS

partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp
partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp