L'architecture Linux Kernel x32 peut être abandonnée

Linux Kernel 4.19

Récemment un e-mail a été publié via la liste de diffusion du noyau Linux et cet e-mail a pour objectif principal supprimer le code de l'implémentation de la sous-architecture x32 (à ne pas confondre avec x86 IA-32).

Ce qui vous permet d'utiliser le modèle d'adressage mémoire 32 bits (hybrides x86 et x86_64) sur les systèmes x86 64 bits.

Quelle est l'architecture x32?

Il est important de mentionner que la sous-architecture x32 est une ABI hybride x86_64, qui permet d'utiliser un modèle d'adressage mémoire 32 bits sur les systèmes 64 bits (le processeur fonctionne en mode 64 bits, mais utilise des pointeurs 32 bits et des opérations arithmétiques).

ABI X32 permet aux applications de tirer pleinement parti de l'architecture x86_64, comme des registres supplémentaires et des instructions plus rapides, PIC ABI.

Dans le même temps, ABI X32 prend en charge les pointeurs de mémoire 32 bits, ce qui économise de la mémoire, contribue à un remplissage plus efficace du cache du processeur et a un effet positif sur la vitesse globale d'exécution du code.

La limitation d'ABI X32 est l'impossibilité de diriger plus de 4 Go de mémoire depuis l'application.

Le support X32 fait partie du noyau Linux depuis sa version 3.4, créée en mai 2012.

Les développeurs débattront de l'opportunité de poursuivre ou non la maintenance de cette architecture

Selon le développeur proposant la suppression de la technologie x32 il n'a pas été justifié et n'a pas trouvé d'application pratique dans les aménagements industriels modernes.

En outre, etle code x32 utilise une méthode assez controversée de travail avec les appels système, ce qui crée le risque d'interrompre le fonctionnement normal après le traitement des implémentations d'appel système.

Linus Torvalds a déclaré qu'il accepterait de supprimer x32 si aucun argument n'est soumis ou si les systèmes dans lesquels la sous-architecture x32 a été appliquée ne sont pas présentés.

Linus a également noté que l'utilisation de l'architecture x32 était apparemment limitée à des tests de performances extrêmess, car la prise en charge de cette sous-architecture est associée à de nombreuses complications dans la maintenance des distributions et de l'environnement de développement.

Le courrier:

Bonjour à tous.

J'envisage sérieusement de soumettre un correctif pour supprimer le support x32 de Linux. Voici quelques problèmes avec ceci:

  1. Il n'est pas tout à fait clair qu'il a des utilisateurs. Autant que je sache, il est pris en charge sur Gentoo et Debian
  2. Le fonctionnement du système d'appel est très étrange. La plupart des appels système sur x32 entrent via leur * natif * (c'est-à-dire pas COMPAT_SYSCALL_DEFINE) avec le point d'entrée, et c'est intentionnel.

Par exemple, adjtimex () utilise l'entrée native, pas l'entrée compat, car la structure x32 timex correspond à la disposition x86_64. Mais une poignée d'appels système ont des points d'entrée séparés - ce sont les appels système qui commencent à 512.

Ceux-ci entrent par les points d'entrée COMPAT_SYSCALL_DEFINE.

Les appels système X32 qui ne sont * pas * dans la plage 512 violent tous les semblants de la convention syscall du noyau.

Dans les gestionnaires d'appels système, in_compat_syscall () renvoie true, mais l'entrée COMPAT_SYSCALL_DEFINE n'est pas appelée, c'est insensé et vous courez le risque de casser des choses lorsque les gens refactorisent leurs implémentations d'appel système.

Et surtout, personne n'essaye ces choses.

Une fois, Lors du test de x32, l'un des développeurs Gentoo a conclu que l'amélioration des performances lors du passage à ABI x32 n'est pas aussi grande que les tests synthétiques le montrent. Par les fabricants d'ABI x32:

des progrès significatifs ne sont visibles que par rapport à l'architecture x86 précédente, mais par rapport à l'architecture x86-64 actuelle, le gain est négligeable (les tests SPEC des créateurs de x32 ont montré jusqu'à 40% d'accélération par rapport à l'ABI classique x86_64, tests avec le codec H.264 a montré une accélération de 15-20%).


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.