Linus Torvalds sabote-t-il délibérément Linux embarqué avec l'option FORCE_NR_CPUS pour éviter la confusion ?
Linux

Linus Torvalds sabote-t-il délibérément Linux embarqué avec l’option FORCE_NR_CPUS pour éviter la confusion ?

Par Hugues , le 21 juin 2024 - 3 minutes de lecture

Linus Torvalds, le célèbre créateur du noyau Linux, est-il intentionnellement à l’origine de la désactivation de l’option FORCE_NR_CPUS dans Linux embarqué afin d’éviter toute confusion ?

La Fonctionnalité FORCE_NR_CPUS et Ses Origines


Depuis quelques années, l’option de configuration FORCE_NR_CPUS dans le noyau Linux a permis de forcer le nombre de cœurs CPU que le noyau attend, afin de permettre de meilleures optimisations du compilateur. Lors de la construction d’un noyau ciblé pour un appareil/plateforme spécifique avec un certain nombre de cœurs CPU, le compilateur peut alors optimiser les routines de masques de CPU et réduire la taille du noyau résultant au lieu d’avoir à accueillir un nombre dynamique de cœurs CPU au moment du démarrage.

Optimisation vs. Complexité

Embedded system with limited resources, featuring FORCE_NR_CPUS optimization


La véritable utilité de FORCE_NR_CPUS réside dans les scénarios embarqués extrêmes où les ressources sont limitées. Par exemple, en 2022, l’utilisation de FORCE_NR_CPUS=y avec une valeur par défaut de NR_CPUS=4 pour cibler une plateforme à 4 cœurs a permis d’économiser 46KB. Bien que cette économie puisse sembler minime, elle peut être cruciale dans des contextes embarqués très contraints.

Risques et Inconvénients


Cependant, lorsque le nombre de CPUs du système ne correspond pas au nombre de CPUs forcé pour de telles constructions de noyau, des problèmes peuvent survenir. Un rapport récent a mentionné un crash du noyau lorsque le nombre de CPUs forcé ne correspondait pas au nombre de CPUs au démarrage. Linus Torvalds lui-même a reconnu que cela signifiait que la configuration utilisée n’était pas valide.

La Réflexion de Linus Torvalds

Linus Torvalds highlighting the impact of default settings on FORCE_NR_CPUS activation


Linus a exprimé des doutes sur l’utilité de FORCE_NR_CPUS, la qualifiant d’erreur. Selon lui, bien que cela améliore légèrement la génération de code bitmask, c’est surtout une option de cas spécial destinée aux environnements embarqués ou aux machines spécifiques. Il a évoqué la perte de sens de cette option, car de nombreuses distributions activent l’option EXPERT par défaut, permettant ainsi l’activation de FORCE_NR_CPUS même lorsqu’elle n’est pas nécessaire.

Décision de Restriction


Pour éviter la confusion, Linus a poussé un commit visant à restreindre encore davantage FORCE_NR_CPUS. La hardcodage du nombre de CPUs améliore la génération du code, mais si c’est mal configuré, le résultat peut être déroutant. Malgré les limitations précédentes réservant cette option aux experts, cela ne semblait pas suffire, car les configurations des noyaux de distributions incluaient souvent EXPERT.

État Actuel et Perspectives

Developer working on code for Linux rcwith new modifications


La modification est maintenant intégrée dans le Git de Linux 6.10 en prévision de la sortie de Linux 6.10-rc5. Si aucune objection n’est soulevée, cette option pourrait être totalement supprimée du noyau principal de Linux ou une approche mieux adaptée aux options de construction du noyau embarqué pourrait être envisagée.

Implications pour les Développeurs et Utilisateurs Embarqués


Pour les développeurs et les utilisateurs de systèmes embarqués, cette décision signifie que les options de configuration pour la taille et les performances du noyau pourraient devenir plus simples mais potentiellement moins flexibles. La communauté Linux devra peut-être trouver des alternatives ou des ajustements pour maintenir l’efficacité des configurations noyaux dans des environnements à ressources limitées.

Partager cet article :
Avatar photo

Hugues

Hugues, a 39 ans et il est développeur web indépendant. Passionné de football, de running et de domotique il aime créer des petites applications pour mieux gérer son quotidien.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.