[arch-dev-public] RFC: Use x86_64-v2 architecture
Eli Schwartz
eschwartz at archlinux.org
Wed Mar 3 01:03:00 UTC 2021
On 3/2/21 7:54 PM, Allan McRae via arch-dev-public wrote:
> On 2/3/21 9:51 pm, Allan McRae wrote:
>> Hi all,
>>
>> A new RFC has been opened here:
>> https://gitlab.archlinux.org/archlinux/rfcs/-/merge_requests/2
>>
>> Summary:
>> Make -march=x86_64-v2 the default for our packages. This assumes the
>> following instruction sets which are essentially available on all but
>> the oldest AMD CPUs:
>>
>> CMPXCHG16B, LAHF-SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3
>>
>> Please visit the above link for discussion.
>
> I'm following this up with a more detailed explanation than in the RFC,
> because this is really a discussion about the core of Arch Linux.
>
> The clear disadvantage of this proposal is that processors older than
> ~2008 will no longer be supported. We have heard from people who run
> Arch on these processors, because they will be affected. But that does
> not mean theses are a high proportion. I suspect we caused more people
> to not be able to run Arch when we dropped i686 (based purely on the
> size of the immediate outrage...).
>
> What are the advantages? Optimization of binaries.
>
> It has been pointed out that glibc and some other packages do hardware
> detection that allows the use of optimized routines for some functions,
> so this limits benefits. Great for that software, but not all software
> than can benefit does this.
>
> Also some packages already have variants provided with a -sse4 or -avx2
> suffix where there is a major benefit. But this is done on an as-wanted
> basis, and is a maintenance burden.
>
> While the performance gains we will get are debatable in size, another
> major benefit is power usage. I recompiled my entire system as a test
> last year to something equivalent to x86_64-v3 (so more optimised than
> the proposal) and saw a *substantial* increase in battery life on my
> laptop under usual usage. So there are advantages beyond pure speed
> improvements.
>
>
> I think this discussion comes down to how Arch Linux wants to position
> itself and its guiding philosophies. In the early days, the selling
> points of Arch were rolling release, optimised binaries, and simple
> packaging (including lack of splitting).
>
> We still do rolling release. But I'd venture that openSUSE Tumbleweed
> does it in a more robust way these days. Our lack of package splitting
> (e.g. including development headers in the package), does have
> significant advantages still. However, we have lost our lead on
> optimized binaries.
>
> When we provided i686, other distros were still doing i386 or maybe
> i486. At that stage, Arch was rejecting older processors. RHEL have
> announced they will use x86_64-v2 for EL9 [1]. I have not seen any
> discussion of this, but you would assume Fedora would do it first.
> Given SUSE was involved in the definition of the three new x86_64
> microarchitectures, I'd expect them to move there too. That would make
> Tumbleweed very attractive over Arch (and I say that with a vested
> interest in the Arch package manager...).
>
> Is Arch a distribution that supports processors that are more than a
> decade old? There are dozens of other distros that do that too. Or do
> we drop support for a small fraction of hardware in current use (as we
> have done on previous occasions) and continue to push the boundaries of
> a binary based Linux distribution? Are we a distribution that takes a
> leap before other distros, or just another rolling release distro?
I wonder, might this be an interesting time to reintroduce multiple
architectures?
We used to offer i686 and x86_64.
Maybe now we could offer x86_64, x86_64-v2, and x86_64-v3. Or go right
to -v4.
--
Eli Schwartz
Bug Wrangler and Trusted User
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-dev-public/attachments/20210302/e2f2f1b3/attachment.sig>
More information about the arch-dev-public
mailing list