News

x86_64-v1, v2, v3 et v4 : les processeurs PC 64bits les plus anciens deviennent obsolètes

Informatique | 1 Commentaire
Un petit message affiché au démarrage d'une Rocky Linux 9.5 qui m'a poussé à me renseigner. Mon processeur est-il déjà considéré comme obsolète ? Déjà plein d'infos sur la toile mais je n'étais pas au courant. :D On sait que les différentes versions de Windows réclament des processeurs plus ou moins récents pour fonctionner, c'est au tour de certaines distributions Linux.


Sources :

Citation :
Red Hat will upgrade the instruction set architecture (ISA) baseline to the x86-64-v3 microarchitecture level in RHEL 10 and x86-64-v1 and x86-64-v2 x86-64 microarchitecture level of CPUs will be marked deprecated in RHEL 8 and RHEL 9 and unsupported in RHEL 10.




Tout est sur Wikipedia, en gros : la simple distinction 32bits (i386 ou i686) VS 64bits ne suffira plus à l'avenir pour la famille de CPU PC 64 bits (EM64T & AMD64). Il va falloir distinguer au sein même de la famille des x86_64 lesquels sont encore compatibles avec certaines distributions Linux. En fait les processeurs AMD et Intel 64 bits (depuis l'Athlon 64 et les Pentium 4 Prescott, les chaudières d'antan quoi) ont été découpés en 4 "levels" (micro-architectures).
Donc tout dépend de comment est compilée votre distribution (noyau, bibliothèques et autres programmes). Certaines distributions vont peut-être faire le choix de compiler pour du v3 uniquement, ceci afin d'exploiter ces nouvelles instructions qui ont été embarquées au fur et à mesure dans les processeurs. Les réactions sont mitigées quant au gain de performances apporté (lien 2). RedHat a fait un choix qui va mettre ainsi les plus vieux processeurs 64bits d'avant 2013 (Haswell) au rebus. Exit les anciens Ivy/Sandy Bridge. Dans la future RHEL 10, distribution mère d'autres comme AlmaLinux, Rocky Linux ou encore Oracle Linux, les processeurs v2 ne seront plus pris en charge. Rien à voir avec les failles des CPU. Linux Torvals est contre cela. Sauf que dans le monde professionnel ben comme d'habitude beaucoup de gens se plieront à Red Hat.
Il existe un petit script awk pour savoir à quel niveau votre CPU est situé, selon ses flags (lscpu ou cat /proc/cpuinfo).
Code BASH :
#!/usr/bin/awk -f
BEGIN {
    while (!/flags/) if (getline < "/proc/cpuinfo" != 1) exit 1
    if (/lm/&&/cmov/&&/cx8/&&/fpu/&&/fxsr/&&/mmx/&&/syscall/&&/sse2/) level = 1
    if (level == 1 && /cx16/&&/lahf/&&/popcnt/&&/sse4_1/&&/sse4_2/&&/ssse3/) level = 2
    if (level == 2 && /avx/&&/avx2/&&/bmi1/&&/bmi2/&&/f16c/&&/fma/&&/abm/&&/movbe/&&/xsave/) level = 3
    if (level == 3 && /avx512f/&&/avx512bw/&&/avx512cd/&&/avx512dq/&&/avx512vl/) level = 4
    if (level > 0) { print "CPU supports x86-64-v" level; exit level + 1 }
    exit 1
}

Perso pour quelques unes de mes machines :
Machine CPU Generation Level
Dell Optiplex 380 Core 2 Duo E8600 Penryn / Wolfdale v1
IBM X3400 M3 Xeon E5540 Nehalem-EP v2
IBM X3100 M4 Xeon E3-1220v2 Ivy Bridge v2
Dell Optiplex 3050 Micro i5-7500T Kaby Lake v3
Dell PowerEdge T440 Xeon Silver 4116 Skylake-SP v4
PC NAS Assemblé i3-12100 Alder Lake v3

Citation :
On any x86_64 Linux distribution, all x86_64 feature levels supported by a CPU can be verified using command: ld.so --help The result will be visible at the end of command's output:

Cela n’empêche pas l'installation de distributions Linux qui ne font pas ce choix et compilent toujours en mode baseline v1 comme Debian, Ubuntu ou Fedora.
Attention, le message peut s'afficher à tort dans des VM comme VirtualBox, cela provient de l'hyperviseur qui "rapporte" mal au noyau Linux de la VM les fonctions du processeur. Voir ce lien KVM/QEMU.

Réparation port USB

Informatique | 1 Commentaire
Réparation d'un port USB sur une carte mère, dont le plastique a cassé, un classique. Recollé avec de la super glue.
1 2 3
4 5 6