== Summary ==
Create a dedicated buildroot to test packages built with x86-64
== Owner ==
* Name: [[User:bookwar| Aleksandra Fedorova]]
* Email: [mailto:email@example.com alpha(a)bookwar.info]
* Name: [[User:fweimer| Florian Weimer]]
* Email: [mailto:firstname.lastname@example.org fweimer(a)redhat.com]
== Detailed Description ==
Fedora currently uses the original K8 micro-architecture (without
3DNow! and other AMD-specific parts) as the baseline for its x86_64
architecture. This baseline dates back to 2003 and has not been
updated since. As a result, performance of Fedora is not as good as it
could be on current CPUs.
Changing the main Fedora baseline to new CPUs in place
[[Changes/x86-64 micro-architecture update|was rejected]] as the user
base for older machines is still large. But we’d like to unblock the
development and testing of this feature.
== Benefit to Fedora ==
* Allow development and verification of the CPU baseline update in
Fedora without disrupting users of Fedora on older machines.
* Collect real life data on performance improvements, which can help
making decision on the baseline update.
* As soon as feature is accepted by the community, there will be a
smooth process to update baseline in the main Fedora, as all packages
will be already verified and tested to work against it.
* Until the switch of the main x86_64 architecture, interested parties
can install systems from the updated buildroot for performance
== Scope ==
* Proposal owners:
** define new disttag for the buildroot
** provide updated gcc package which implements the new compiler
flags. It is expected that the new baseline will be implemented in a
new GCC -march= option for convenience.
** provide update to rpm-config package which changes default compiler
options for the disttag
** setup automation so that for each build submitted to Fedora Rawhide
there is a build submitted to the additional buildroot. Result of the
build task will be posted to Fedora Messaging and consumed by
ResultsDB, so that it appears in Bodhi
** setup automation to run periodic partial composes (via ODCS)
without installation media to generate repositories with these
** update packaging documentation to mention new disttag and how it can be used
** create landing page to describe the purpose and usages of the
buildroot in Fedora Wiki
* Other developers:
** None. The goal is to build exactly the same sources in the
different buildroot environment. Thus maintainers supposed to work on
Fedora Rawhide packages as usual. With maybe additional source of
bugreports coming from the build failures.
* Release engineering: [https://pagure.io/releng/issue/9154
** New buildroot needs to be configured in koji
** New compose configuration
* Policies and guidelines:
** There will be a new disttag for the alternative buildroot and a new
conditional in the rpm spec for it.
* Trademark approval: N/A (not needed for this Change)
== Upgrade/compatibility impact ==
N/A (not a System Wide Change)
== How To Test ==
(Will be updated with more details later)
For each new package submitted to Fedora Rawhide there will be a CI
pipeline which builds the same sources in the additional buildroot.
Build result will be posted to ResultsDB and will be visible in Bodhi
on the update page.
There also is going to be partial compose with all packages built in
the alternative buildroot.
To test these packages one can add the repository from the compose and
run a dystro-sync.
== User Experience ==
The alternative buildroot is going to be used for development and
testing. There will be no impact on users.
== Dependencies ==
N/A (not a System Wide Change)
== Contingency Plan ==
The only impact the feature has on the current Fedora development
process is: there will be additional test result which shows up in
Fedora Rawhide gating. Thus there is no risk for Fedora release
If feature is not completed by Fedora 32 release, it is going to be
shifted to Fedora 33 cycle or cancelled.
* Contingency mechanism: 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)
== Documentation ==
There will be a landing page on wiki with details on the purpose and
usage of this buildroot.
== Release Notes ==
Preparation work has started for updating Fedora baseline to new CPUs.
While it has no effect on the current release, there is a test
environment which can be used by anyone interested in this work.
He / Him / His
Fedora Program Manager