What happened to bumping the minimum supported architecture from x86_64 to x86_64-v2?

So, if you guys have been following the updates about x86_64 architecture it has been divided in 4 microarchitectures (-v1 up to -v4), for more info:

x86_64-v2 basically is around the first Intel Core processors and should support relatively modern processors whereas x86_64-v1 goes back to the very first x86 64-bits processors (such as the Pentium 4).

One of the benefits expected from switching the base architecture to x86_64-v2 would be that some newer processor instructions can be used to optimize the distro.

So, has this been discussed anymore? I havenā€™t seen news on it in a while.

1 Like

Just a user here:

https://bugzilla.redhat.com/show_bug.cgi?id=2165851
x86-64-v3 would take us to Haswell and make use of the avx2 vector instruction set.
Apparently, it needs volunteers to run with it on the devel-list

Initiative was originally Ben Cottonā€™s proposal on fedora-devel
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/MPFXH4Y5LDC5L2VXWKUHAX3WAKBQXR4U/
I wonder who has taken over the initiative since then.

There was a meeting on 20230623
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/T5VQRPC23LGFMTBEGRL36YSYWPO2YHN3/#T5VQRPC23LGFMTBEGRL36YSYWPO2YHN3

The other news is that rpm package installer has already had the merge commit done to support micro architectures

2 Likes

Just a note: the change wasnā€™t Benā€™s. Ben was the programme manager and so sent out all change proposals to the list. The change owner for this is Florian as noted in the e-mail, or the wiki page linked to there:

https://fedoraproject.org/wiki/Changes/x86-64_micro-architecture_update

My impression that a change, if reproposed, would not be accepted by Fedora, whether itā€™s targeting x86-64-v2 or x86-64-v3. I submitted the original proposal because I was told to, I didnā€™t expect it to pass even back then.

You can use Fedora ELN if you want a Fedora-like package set with a x86-64-v3 default, although of course itā€™s based on rawhide. CentOS 9 Stream uses x86-64-v2.

For what itā€™s worth, RHEL9.x and similar wonā€™t install unless itā€™s a v2 machine. To see what you have Frank Cox, on Rocky Linux forums shared a script.

#!/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
}

Put it somewhere, make it executable, and, assuming your path to awk is /usr/bin/awk, run it with ./scriptname.sh

Itā€™s easier to check with ld.so --help:

$ ld.so --help
<snip>
This program interpreter self-identifies as: /lib64/ld-linux-x86-64.so.2

Shared library search path:
  (libraries located via /etc/ld.so.cache)
  /lib64 (system search path)
  /usr/lib64 (system search path)

Subdirectories of glibc-hwcaps directories, in priority order:
  x86-64-v4
  x86-64-v3 (supported, searched)
  x86-64-v2 (supported, searched)

Interesting. Questions:

In laymanā€™s terms, please explain what a ā€œRed Hat Enterprise Linux composeā€ is, Why would one want it or not want it over what fedora uses, maybe a ā€œfedora-projectā€ compose?

I read ā€œā€¦ we want to have an alternative compose of a portion of Fedora Rawhide that will resemble the way that Red Hat and the CentOS Project builds their packagesā€¦ā€, I want to know how exactly they are different apart from the micro-architecture baseline.

I read ā€œā€¦ELN allows us to explore new ideas like a higher baseline for CPU architectures in a way that will not disrupt the rest of Fedora ā€¦ā€ Does this mean ELN is temporary exploration distro and will eventually fold into fedora, or the other way fedora will fold into ELN

Why is the ELN version so far ahead at 131 already?

Some Links:

My first thought was - ā€œif i dnf/yum disable the current fedora-39 repo and add eln repos i could start getting x86_64-v3 build on successive updatesā€ . But i suspect this is a serious enough difference that it isnā€™t going to be that easy to go from fc39 to eln131. Iā€™d have to to do a full-reinstall.

So what is ELN like to use?, are there still serious bugs to iron out in ELN, Can one expect ELN to work almost as reasonbly stable and functional as fedora-project. Is it as bleeding edge feature-ful like fedora, or reduced features for-tail-end-stability like Redhat-Enterprise?