[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fedora-devel-list
Subject:    Re: Fedora 32 System-Wide Change proposal: x86-64 micro-architecture update
From:       Zamir Sun <zsun () fedoraproject ! org>
Date:       2019-07-23 5:06:49
Message-ID: CAHnb8o6dC-EyqDNcWGT75ZZwHzB4nASDyNsFsDm4s6Z1yGUb0Q () mail ! gmail ! com
[Download RAW message or body]

This sounds like 'You should stop using and contributing to Fedora for
x86_64' to me.

Technically, I don't have any concern.

Practically, as a user, I only have one machine that supports AVX2
which is my laptop.
As a packager, the main machines that I use for building and testing
my packages locally is an Intel Core 2 Duo and I expect it to serve me
another 5 years.
All my virtual machines run on i7-3770 at home which is also not AVX2
compatible.

I'd like to share some info of my other machines as well, so you
probably can have a better understanding of a lifetime of computers.
I only retired my Pentium 4 1.4GHz machine in early 2018. And I still
have an AMD Sempron 2800+ working at home without any problems,
although it is not running Fedora.
Besides that, my old ThinkPad with Pentium T4200 is serving as my NAS
running with Fedora 29.

People probably suggest me to replace some of the old machines. Sure,
but it is much more costly than switching to another operating system
such as CentOS, unless some affordable yet upstream-friendly SBSA
compliant aarch64 machine available, which is not x86_64 of course.

I believe I'm not the only one with such a long computer lifetime,
especially here in China.

So I don't think it's a good idea for this to happen within the near
future, for example, 3 years.

On Tue, Jul 23, 2019 at 3:27 AM Ben Cotton <bcotton@redhat.com> wrote:
>
> https://fedoraproject.org/wiki/Changes/x86-64_micro-architecture_update
>
> == Summary ==
> Fedora currently uses the original K8 micro-architecture (without
> 3DNow! and other AMD-specific parts) as the baseline for its
> <code>x86_64</code> 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.
>
> This change to update the micro-architecture level for the
> architecture to something more recent.
>
> == Owner ==
> * Name: [[User:fweimer| Florian Weimer]]
> * Email: [mailto:fweimer@redhat.com fweimer@redhat.com]
>
> == Detailed Description ==
>
> After preliminary discussions with CPU vendors, we propose AVX2 as the
> new baseline.  AVX2 support was introduced into CPUs from 2013 to
> 2015. See [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX2
> CPUs with AVX2].
>
> Along with AVX2, it makes sense to enable certain other CPU features
> which are not strictly implied by AVX2, such as CMPXCHG16B, FMA, and
> earlier vector extensions such as SSE 4.2.  Details are still being
> worked out.
>
> A test rebuild of a distribution largely based on Fedora 28 showed
> that there is only a small number of build failures due to the
> baseline switch. Very few packages are confused about the availability
> of the CMPXCHG16B instruction, leading to linking failures related to
> <code>-latomic</code>, and there are some hard-coded floating point
> results that could change due to vectorization.  (The latter is within
> bounds of the usual cross-architecture variation for such tests.)
>
> == Benefit to Fedora ==
>
> Fedora will use current CPUs more efficiently, increasing performance
> and reducing power consumption.
>
> Moreover, when Fedora is advertised as a distribution by a compute
> service provider, users can be certain that their AVX2-optimized
> software will run in this environment.
>
> == Scope ==
> * Proposal owners: Update the <code>gcc</code> and
> <code>redhat-rpm-config</code> package to implement the new compiler
> flags.  It is expected that the new baseline will be implemented in a
> new GCC <code>-march=</code> option for convenience.
>
> * Other developers: Other developers may have to adjust test suites
> which expect exact floating point results, and correct linking with
> <code>libatomic</code>. They will also have to upgrade their x86-64
> machines to something that can execute AVX2 instructions.
>
> * Release engineering: [https://pagure.io/releng/issue/8513 #8513]
> ** All Fedora builders need to be AVX2-capable.
> ** Infrastructure ticket:
> [https://pagure.io/fedora-infrastructure/issue/7968 #7968]
> * Policies and guidelines: No guidelines need to be changed.
> * Trademark approval: N/A (not needed for this Change)
>
> == Upgrade/compatibility impact ==
> Fedora installations on systems with CPUs which are not able to
> execute AVX2 instructions will not be able to upgrade.
>
> == How To Test ==
> General system testing will provide test coverage for this change.
>
> == User Experience ==
> User should observe improved performance and, likely, battery life.
> Developers will benefit from the knowledge that code with AVX2
> optimizations will run wherever Fedora runs.
>
> == Dependencies ==
> There are no direct dependencies on this change at this time.
>
> == Contingency Plan ==
> It is possible to not implement this change, or implement a smaller
> subset of it (adopting the CMPXCHG16B instruction only, for example).
>
> * Contingency mechanism: Mass rebuild with different/previous compiler glags.
> * Contingency deadline: Final mass rebuild.
> * Blocks release? No.
> * Blocks product? No.
>
> == Documentation ==
> The new micro-architecture baseline and the resulting requirements
> need to be documented.
>
> == Release Notes ==
> Release notes must mention how users can determine whether their
> system supports AVX2 prior to upgrading, for example by running
> <code>grep avx2 /proc/cpuinfo</code>.
>
> --
> Ben Cotton
> He / Him / His
> Fedora Program Manager
> Red Hat
> TZ=America/Indiana/Indianapolis
> _______________________________________________
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-leave@lists.fedoraproject.org
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org



-- 
Ziqian SUN (Zamir)
zsun@fedoraproject.org
GPG : 1D86 6D4A 49CE 4BBD 72CF FCF5 D856 6E11 F2A0 525E
Want to know more about Fedora?
Visit https://fedoraproject.org/wiki/
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic