In the run-up to the upcoming openSUSE/SUSE Adaptable Linux Platform (ALP), evaluation is continuing to increase the x86_64 microarchitecture functional level required by the Linux operating system and what options there are to take advantage of newer x86_64 instruction set extensions without necessarily breaking them enforce tightened CPU requirements / eliminate legacy hardware support.
As I wrote in early March, ALP efforts have looked to increase x86_64 CPU requirements, potentially going as far as the x86-64 v3 feature level, where AVX-capable CPUs might be required.
Three weeks ago this issue tracker for openSUSE reported:
I just received confirmation that ALP Proof of Concept will have x86_64-v3 enabled in September/October 2022.
However, SUSE Release Manager Lubos Kocman further commented in this ticket that it is possible that SUSE ALP is targeting x86_64-v3, but openSUSE may be targeting x86_64-v2:
The openSUSE ALP is still there [being discussed]since we can decide to rebuild binaries or reuse those from SUSE (that would be the way of Closing the Leap Gap).
My preference would be to choose -v2 in “openSUSE ALP” if we decide to rebuild. We basically discussed the same thing at the last Community WG meeting.
In the meantime, a discussion about the functional levels of the x86_64 microarchitecture was taking place on the openSUSE Factory mailing list. This mailing list thread originally addressed the use of the x86-64 v2 target for openSUSE Factory, which would require x86_64 CPUs to support some additional features like SSE4.2 and POPCNT, but not require AVX or FMA and BMI.
This mailing list thread also brought up the current issues surrounding x86_64 microarchitecture feature levels, that they are rather arbitrary sets and don’t integrate well with package management solutions etc. at the moment. As ultimately it would probably work best if multiple feature levels could be supported simultaneously and ideally only offer multiple builds for the most performance sensitive and popular packages where using newer x86_64 instruction set extensions is proving very beneficial rather than rebuilding the entire archive to create.
That then led to this RPM pre-discussion ticket about a possible overhaul of the way architectures are handled, but with no preliminary code or solid proposals yet. It would be great to see RPM and other package management software make better use of the x86_64 feature layers to allow for more robust package management, especially where a subset of packages may be available and, as part of the package metadata, able to effectively manage them communicate requirements to the CPU function.
As for raising the ALP requirements, it seems that the SUSE ALP proof of concept later this year will indeed target x86_64-v3, while on the openSUSE side it doesn’t seem set in stone yet, whether they target v2 or v3. This goes hand in hand with the broader discussions of other Linux distributions also (re)evaluating their x86_64 baseline, and will hopefully lead to further improvements in handling upstream with package managers etc.