On 08/01/2021 10:48, Fabian Arrotin wrote:
On 08/01/2021 10:15, Florian Weimer wrote:
- Fabian Arrotin:
Thanks a lot for the announce, really appreciated to be aware of what's coming . I'd (myself) like to see some kind of announces being sent on the public list so that everybody can follow what's being worked on and so what to expect in Stream packages (as of course there is no official public Release Notes -yet- , appearing for RHEL, so downstream)
I'm going to let others comment on that.
Now back to the x86 cpu infra : does that mean that to *build* Stream packages (like gblic) we need at least a minimum instructions set in the CPU (builder side that is) ?
glibc itself continues to use IFUNCs on x86-64 to select optimized function implementations, based on CPU capabilities. This means that baseline x86-64 support remains sufficient for building the glibc package.
I can image that in the future, there will be some packages which build shared objects for x86-64-v3 (in addition to baseline x86-64, with run-time selection later), and which test all implementations at build time. In such a scenario, the builders would have to support x86-64-v3.
In related news, we plan to build CentOS Stream 9 with a x86-64-v2 baseline:
Building Red Hat Enterprise Linux 9 for the x86-64-v2 microarchitecture level https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level/
Thanks a lot, that's exactly the kind of information I wish we had when we started to build the new infra for Stream 9 .... now to see if what deployed as hardware for this is enough :)
So if we have to start with x86-64-v2 (and eventually x86-64-v3 later one for some pkgs), I just checked all (normally) needed cpu flags and we're so "covered" .. :
for flag in sse3 sse4_2 popcnt cx16 avx2 movbe; do egrep -q ${flag} /proc/cpuinfo && echo "Flag ${flag} present !" || echo "Flag ${flag} MISSING" ; done Flag sse3 present ! Flag sse4_2 present ! Flag popcnt present ! Flag cx16 present ! Flag avx2 present ! Flag movbe present !
I was in 'panic mode' for some minutes until I was able to confirm that what we have should work .. ;-)