https://fedoraproject.org/wiki/Changes/z13BaselineForIBMZ
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
== Summary == Move the minimal architecture level for IBM Z hardware (the s390x architecture) to z13 to benefit from the new features and better performance in the newer CPU.
== Owner == * Name: [[User:sharkcz| Dan Horák]] * Email: sharkcz@fedoraproject.org
== Detailed Description == Moving the minimal architecture level for IBM Z hardware (the s390x architecture) to z13 allows us to benefit from the new features and better performance in the newer CPU. The current minimum at zEC12 is targeting hardware that has been already obsoleted by the vendor. All Fedora infrastructure is already using the latest z15 hardware (builders and co and also our public resources for developers). But we still want to be able to use existing z13 and z14 hardware. Also the TCG (full-system/non-KVM) emulation in QEMU already allows running distros built with z13 as the baseline architecture. This change means updating the defaults in gcc and the build flags and in the kernel.
== Benefit to Fedora == The primary benefit is being able to exploit vector instructions by default, which should increase performance. Plus take advantage of other architectural improvements.
== Scope == * Proposal owners: ** update the minimal hardware level in the kernel config to z13 ([https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1907 MR#1907]) ** set default compiler flags to <tt>-march=z13 -mtune=z14</tt> in <tt>redhat-rpm-config</tt> ([https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/207 PR#207]) and <tt>gcc</tt> ([https://src.fedoraproject.org/rpms/gcc/pull-request/25 PR#25])
* Other developers: * Release engineering: * Policies and guidelines: N/A (not needed for this Change) * Trademark approval: N/A (not needed for this Change) * Alignment with Objectives:
== Upgrade/compatibility impact == Users with hardware older than z13 should stick with F-36 or older release.
== How To Test == You shouldn't be able to start Fedora Linux 37 on system older than z13.
== User Experience == The primary difference will be in the availability of the vector instructions and as a result better performance.
== Dependencies ==
== Contingency Plan == * Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change) * Contingency deadline: N/A (not a System Wide Change) * Blocks release? N/A (not a System Wide Change), Yes/No
== Documentation == N/A (not a System Wide Change)
== Release Notes == Starting with Fedora Linux 37 the minimal hardware level for the s390x architecture has been updated to z13.
On 15. 07. 22 23:48, Ben Cotton wrote:
== Summary == Move the minimal architecture level for IBM Z hardware (the s390x architecture) to z13 to benefit from the new features and better performance in the newer CPU.
I suppose, considering the mass rebuild is today, that this change only makes sense for Fedora 38. Or do we really want to change this without rebuilding everything?
On Wed, 20 Jul 2022 16:48:02 +0200 Miro Hrončok mhroncok@redhat.com wrote:
On 15. 07. 22 23:48, Ben Cotton wrote:
== Summary == Move the minimal architecture level for IBM Z hardware (the s390x architecture) to z13 to benefit from the new features and better performance in the newer CPU.
I suppose, considering the mass rebuild is today, that this change only makes sense for Fedora 38. Or do we really want to change this without rebuilding everything?
it still makes sense to me, we can change default in the kernel, next glibc build will pick it, so the majority of the perf improvements will be available. And if something should go wrong (although I don't expect that), then the individual package builds will get the change and it will be easier to fix them incrementally, rather having a big(er) batch from the rebuild at once.
Dan
On Wed, Jul 20, 2022 at 4:56 PM Dan Horák dan@danny.cz wrote:
On Wed, 20 Jul 2022 16:48:02 +0200 Miro Hrončok mhroncok@redhat.com wrote:
On 15. 07. 22 23:48, Ben Cotton wrote:
== Summary == Move the minimal architecture level for IBM Z hardware (the s390x architecture) to z13 to benefit from the new features and better performance in the newer CPU.
I suppose, considering the mass rebuild is today, that this change only makes sense for Fedora 38. Or do we really want to change this without rebuilding everything?
it still makes sense to me, we can change default in the kernel, next glibc build will pick it, so the majority of the perf improvements will be available. And if something should go wrong (although I don't expect that), then the individual package builds will get the change and it will be easier to fix them incrementally, rather having a big(er) batch from the rebuild at once.
I'd argue that this should've been submitted as a System-Wide Change. If I understand correctly, this change would affect every package that is built on s390x? As such, it would've been way too late for Fedora 37, as it should also have been ready before the mass rebuild.
And I'd also argue that not having this change ready before the mass rebuild, and only pushing selective builds is not a good idea. If there is fallout from this change, it would be better to catch it at or before the mass rebuild. Otherwise, if the switch is made *after*, potential breakage could well happen over the whole lifetime of Fedora 37 (i.e. after GA and until EOL), as more and more packages are rebuilt, which would be a completely unpredictable source of issues.
Fabio
Fabio Valentini wrote:
I'd argue that this should've been submitted as a System-Wide Change. If I understand correctly, this change would affect every package that is built on s390x? As such, it would've been way too late for Fedora 37, as it should also have been ready before the mass rebuild.
And I'd also argue that not having this change ready before the mass rebuild, and only pushing selective builds is not a good idea. If there is fallout from this change, it would be better to catch it at or before the mass rebuild. Otherwise, if the switch is made *after*, potential breakage could well happen over the whole lifetime of Fedora 37 (i.e. after GA and until EOL), as more and more packages are rebuilt, which would be a completely unpredictable source of issues.
+1 to all of the above.
In addition, I would consider a drop of supported hardware to be a major change and hence inherently system-wide, and also something that should not be dropped upon users late in the release cycle without prior warning, catching them off-guard. (That said, I do not know how many, if any, users of pre-z13 s390x exist in the Fedora user base.)
Kevin Kofler
On Thu, Jul 21, 2022 at 10:39:55PM +0200, Fabio Valentini wrote:
On Wed, Jul 20, 2022 at 4:56 PM Dan Horák dan@danny.cz wrote:
On Wed, 20 Jul 2022 16:48:02 +0200 Miro Hrončok mhroncok@redhat.com wrote:
On 15. 07. 22 23:48, Ben Cotton wrote:
== Summary == Move the minimal architecture level for IBM Z hardware (the s390x architecture) to z13 to benefit from the new features and better performance in the newer CPU.
I suppose, considering the mass rebuild is today, that this change only makes sense for Fedora 38. Or do we really want to change this without rebuilding everything?
it still makes sense to me, we can change default in the kernel, next glibc build will pick it, so the majority of the perf improvements will be available. And if something should go wrong (although I don't expect that), then the individual package builds will get the change and it will be easier to fix them incrementally, rather having a big(er) batch from the rebuild at once.
I'd argue that this should've been submitted as a System-Wide Change. If I understand correctly, this change would affect every package that is built on s390x? As such, it would've been way too late for Fedora 37, as it should also have been ready before the mass rebuild.
And I'd also argue that not having this change ready before the mass rebuild, and only pushing selective builds is not a good idea. If there is fallout from this change, it would be better to catch it at or before the mass rebuild. Otherwise, if the switch is made *after*, potential breakage could well happen over the whole lifetime of Fedora 37 (i.e. after GA and until EOL), as more and more packages are rebuilt, which would be a completely unpredictable source of issues.
Note, in terms of software compatibility with newer CPU baseline, this has already been widely tested given that RHEL-8 built with the z13 baseline and RHEL-9 built with z14 baseline.
I do agree though that this feels like the kind of change that makes sense todo all in one go at a mass rebuild, rather than drip-feeding per-package.
Given Fedora has lagged waaaaaay behind RHEL in its s390x baseline for years, I'm not seeing why there's a need to rush this in Fedora late in the F37 cycle, rather than co-ordinating it for the F38 release to leverage a mass rebuild.
With regards, Daniel
On Fri, Jul 22, 2022 at 4:02 AM Daniel P. Berrangé berrange@redhat.com wrote: ...
Note, in terms of software compatibility with newer CPU baseline, this has already been widely tested given that RHEL-8 built with the z13 baseline and RHEL-9 built with z14 baseline.
I do agree though that this feels like the kind of change that makes sense todo all in one go at a mass rebuild, rather than drip-feeding per-package.
Given Fedora has lagged waaaaaay behind RHEL in its s390x baseline for years, I'm not seeing why there's a need to rush this in Fedora late in the F37 cycle, rather than co-ordinating it for the F38 release to leverage a mass rebuild.
Just to add one more datapoint: we've been building all of the packages in ELN with the z13 baseline for months now, so we do in fact already know the impact / build failure risk.
On Fri, Jul 15, 2022 at 9:50 PM Ben Cotton bcotton@redhat.com wrote:
The current minimum at zEC12 is targeting hardware that has been already obsoleted by the vendor.
As I understand it, while zEC12 is EOL (you can no longer purchase it), it is not (yet) EOS, so existing systems can still obtain service from IBM, although IBM would have been trying for some time to get one to upgrade to a more recent variant of those z systems.
So while some sites still might be using EC12 hardware, I suspect few run Fedora (even if only in a VM under z/VM), and if they run linux native it is likely they are running an enterprise variant, and EL8 already requires z13 or higher, and EL9 requires z14 or higher (so the hardware is already recent).
Given that s390x is a niche target for Fedora, I don't really think that this change will have any real world impact if approved.
That all said, I do agree with others that it should have gotten approved earlier such that the mass rebuild would catch any build issues.