COMPTOIR
register

Linux : une future séparation des builds selon les modèles de CPU ?

Si vous installez Linux sur une nouvelle machine — par exemple via un certain tutoriel de comptoir —, alors le noyau que vous utilisez est très probablement directement issu d’une compilation unique effectuée par les mainteneurs de ladite distribution. En un mot, quel que soit votre CPU, vous faites tourner in fine la même chose. Cela pourrait sembler logique, mais ce serait oublier que, au fil des années, les processeurs ont progressé, et sont notamment capables de comprendre de nouvelles extensions du jeu d’instruction x86 initial.

 

Or, si vous utilisez le même binaire pour tout le monde, alors il faut sacrifier ces améliorations au profit de la rétrocompatibilité, quitte à y perdre, au passage, des performances. Cela devrait être amené à évoluer, car un ensemble de patchs vise à autoriser l’utilisation de davantage d’extensions x86 selon le feature level de votre CPU, déchiffré dans le tableau suivant :

 

Feature setExtensionsQuels CPU?
x86-64 SSE2 Tous !
x86-64-v2 SSE3/SSE4.1/SSE4.2/ SSSE3 Après Nehalem
x86-64-v3 AVX/AVX2/BMI2/FMA Après Haswell
x86-64-v4 AVX-512 Après Skyake-SP/Icelake

 

 

Pour autant, cela ne signifie pas que les processeurs récents verront une aération gigantesque, car les améliorations ne sont, finalement, que celles automatiquement appliquées par le compilateur, alors que le noyau est principalement composé de code non régulier, empêchant diverses optimisations telle la vectorisation automatique efficace. Certes, Linux contient déjà des directives spécifiques à certains processeurs, mais ce dernier est limité, a été écrit à la main et ne concerne que des routines d’initialisation spécifiques ou des correctifs logiciels de bugs matériels. Par design, ce code n’est par ailleurs jamais ou rarement expulsé du tronc commun, et est donc présent sur tous les binaires distribués (bien que désactivé), sans compter les éventuels appels de bibliothèques dynamiques, pouvant, eux, fortement être modifiés en fonction de l’architecture hôte... ou pas ! À voir dans un futur test ce qu’il en retourne au niveau des performances ? (Source : Phoronix)

 

linux

Un poil avant ?

La bêta de Diablo 2 Resurrected testée, ça farte ?

Un peu plus tard ...

NVIDIA signe un 2nd trimestre monstrueux (et record, of course) !

Les 18 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Un ragoteur 'ArthaX' du Centre-Val de Loire, le Lundi 23 Août 2021 à 12h33  
La dernière fois que j'ai compilé un noyau Linux, c'était 2003 ou 2004. Un de mes amis m'avait dis que le noyaux ne prenait en compte que 256Ko de mémoire cache L2 pour les processeurs Athlon, alors que j'avais un Barton 2500+ @1833MHz que j'avais poussé @2200MHz, qui avait 512Ko de cache L2.

La première fois que j'avais compilé le noyau Linux, c'était novembre 1993. Juste pour que mon PC puisse prendre en compte ma carte I/O qui ajoutait 2 autre ports série RS232, et ainsi profiter de 4 ports série pour connecter 4 terminaux et tester une configuration sur mesure pour un client.
Grace à la compilation du noyau, le client a acheté une machine à ~10.000F au lieu d'une machine à plus de 50.000F proposé par IBM ou Olivetti.

Mais j'avais lu un article chez Phoronix, que la compilation du noyau n'augmentait que 2 ou 3% les performances en utilisation de tous les jours.
Par contre de mon expérience compiler le noyau pour utiliser de manière native certain gestionnaire de système de fichiers, augmente significativement les performances pour les bases de données.

@++
par ThePapyGeek, le Samedi 21 Août 2021 à 07h35  
Moué pas convaincu. En dehors des distrib ultra optimisée ...
par linkin623, le Vendredi 20 Août 2021 à 17h20  
par Un ragoteur bio du Grand Est le Jeudi 19 Août 2021 à 23h09
Raté: pas barbu !

Et désolé si ma simple existence vous défrise...
Pire : j'ai pas de Linux chez moi :trigger_gif:
par linkin623, le Vendredi 20 Août 2021 à 17h20  
par Un gamer sur linux de Bretagne le Vendredi 20 Août 2021 à 07h14
Je ne crois pas qu'on parle de ton existence, ni de ta supposée barbe, ni du fait que tu serais arrogant, mais juste de l'arrogance de ton message (et seulement lui) ou les similaires, très bien caricaturée par linkin623 (ie: Bref (Kyan Khojandi inside?) [je] fais mieux avec 1 commande que "tout le monde connaît" et je compile ma distro pour sa machine "comme tout le monde, c'est évident !"). Nuance.
Je suis un grand fan de Bref! et de Vilebrequin (youtube)
par Un gamer sur linux de Bretagne, le Vendredi 20 Août 2021 à 09h48  
par Un ragoteur arrogant du Grand Est le Vendredi 20 Août 2021 à 07h54
Là, c'est l'hôpital qui se fou de la charité...
miroir miroir ! C'est c'lui qui dit qu'y est !
par Un ragoteur arrogant du Grand Est, le Vendredi 20 Août 2021 à 07h54  
par Un gamer sur linux de Bretagne le Vendredi 20 Août 2021 à 07h14
mais juste de l'arrogance de ton message (et seulement lui)
Là, c'est l'hôpital qui se fou de la charité...
par Un gamer sur linux de Bretagne, le Vendredi 20 Août 2021 à 07h17  
par Un gamer sur linux de Bretagne le Vendredi 20 Août 2021 à 07h14
Pub: merci Liam de GamingOnLinux GamingOnLinux et Larrabel!
...et j'oubliai bien sûr le plus important : Nicolas du Comptoir (mais pas sur les news sortie jeux et optimisation pour les jeux sur gnu/nux)
par Un gamer sur linux de Bretagne, le Vendredi 20 Août 2021 à 07h14  
par Un ragoteur bio du Grand Est le Jeudi 19 Août 2021 à 23h09
Raté: pas barbu !
Et désolé si ma simple existence vous défrise...
Je ne crois pas qu'on parle de ton existence, ni de ta supposée barbe, ni du fait que tu serais arrogant, mais juste de l'arrogance de ton message (et seulement lui) ou les similaires, très bien caricaturée par linkin623 (ie: Bref (Kyan Khojandi inside?) [je] fais mieux avec 1 commande que "tout le monde connaît" et je compile ma distro pour sa machine "comme tout le monde, c'est évident !"). Nuance.

Perso, ça m'arrange, car comme Gohan, j'ai d'autres choses à faire sur mes ~5 ordis linux au boulot, et sur mes 4 pc linux à la maison dont le gamer avec une 3060ti (Pub: merci Liam de GamingOnLinux GamingOnLinux et Larrabel), que de compiler des noyaux pour tous ces ordis et ainsi de réchauffer la planète à chaque mise à jour. Je passe 8h par jour à taper du code, c'est pas pour faire pareil de mes soirées !
par Un ragoteur bio du Grand Est, le Jeudi 19 Août 2021 à 23h09  
par linkin623 le Jeudi 19 Août 2021 à 17h46
Ce que j'adore dans les news qui parlent du noyau Linux, c'est qu'il y a toujours un barbu
Raté: pas barbu !

Et désolé si ma simple existence vous défrise...
par Jemporte, le Jeudi 19 Août 2021 à 20h42  
Ce genre de compile des exécutables n'est pas nouveau.
D'ailleurs les exécutables sont dépendants en théorie des distros, et pas de "Mr Linux".
Tout ce que j'espère c'est que la compilation se fasse toujours à partir de sources communes uniques.
par Un ragoteur qui pipotronne en Île-de-France, le Jeudi 19 Août 2021 à 18h33  
Perso ça m'arrange que ce soit direct intégré au noyau car toujours patch son kernel (+ compilation) pour avoir plus de choix d'architecture, avec le support de l'avx2 par exemple, c'est un peu chiant à la longue. Dernier point à résoudre et ça sera parfait, c'est le fait que pour les portables notamment les kernels ne gère pas tout le hardware et c'est très chiant pendant quelques mois.
par linkin623, le Jeudi 19 Août 2021 à 17h46  
Ce que j'adore dans les news qui parlent du noyau Linux, c'est qu'il y a toujours un barbu pour dire qu'il fait mieux avec 1 commande que "tout le monde connaît" ou qui compile sa distro pour sa machine "comme tout le monde, c'est évident !".

C'est une constante, comme celle de Hubble. Il (le barbu) sera toujours là, et on pourra toujours vérifier cette constante dans 1000 ans. C'est beau.