Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2023-02-01 Thread romulasry
https://github.com/rpm-software-management/rpm/pull/2315 -- Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1035#issuecomment-1412820654 You are receiving this because you are subscribed to this thread. Message ID:

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-03-08 Thread mikhailnov
I meant not function multiversioning (https://docs.01.org/clearlinux/latest/tutorials/fmv.html), but building a separate binary is built with optimizations - https://clearlinux.org/news-blogs/transparent-use-library-packages-optimized-intel-architecture Where needed, building if optimized libs

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-03-07 Thread mikhailnov
Did anyone measure the real performance gain from having a separate znver1 architecture? It is a lot of maintenance and QA burden, but what is the result? As time goes futher, probably new hardware instructions will apear in modern x86 CPUs, so new arches like znver1 will have to be added. Also

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-19 Thread Igor Gnatenko
For Rust packaging, we would appreciate being able to use rich dependencies together with architectures. Now we have to simply remove those specific bits or require everything everywhere. Same goes to OS handling. you can't use %ifarch in deps =( -- You are receiving this because you are

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-19 Thread ニール・ゴンパ
> This is a dangerous argument, as by this logic we're required to accept > anything at all that distros come up with. I am very much aware of this. But considering this is how we were told to implement this when we started this, I'm a little frustrated now that the approach isn't good enough

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-19 Thread Panu Matilainen
> But this one is important enough that I really want this in mainline rpm, > since without it, it means regular rpm can't handle an entire distro set of > packages... This is a dangerous argument, as by this logic we're required to accept anything at all that distros come up with. > I think

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-19 Thread Bernhard Rosenkraenzer
Come to think of it, it may be best to rework architecture handling to sit on top of Provides: (where there's implied Provides: for anything supported by the CPU). That way emulators like qemu-static-arm could add Provides: arch(armv7hnl) etc. so you wouldn't need to force installation of

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-19 Thread ニール・ゴンパ
At least in this case, all Ryzen generation 1 and newer CPUs will match on znver1, so I don't think that'd be a problem with this patch. But I take your point about the general approach of adding more architectures. I think it's probably something to explore on improving how we do this

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-19 Thread Panu Matilainen
That arch patches are systematically so problematic is to me mostly just further testimony that we (as in rpm) are doing something seriously wrong in that department, not to be taken personally. These are all about instruction set extensions, and those that actually matter should be exposed

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-19 Thread ニール・ゴンパ
> I'm just really, really weary and dubious about these architecture tweaks > because they're so bleeping arbitrary. I know, I don't particularly love it either, but RPM doesn't support defining arbitrary architectures and architecture filter mechanisms. Each architecture that people want to

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-19 Thread Panu Matilainen
Just FWIW, I've grown particularly averse to architecture patches because in the last few years, every single one of them has been nothing but a source of controversy and grief. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-19 Thread Panu Matilainen
I'm just really, really weary and dubious about these architecture tweaks because they're so bleeping arbitrary. Looking at gcc manual around znver: znver1 AMD Family 17h core based CPUs with x86-64 instruction set support. (This supersets BMI, BMI2,

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-18 Thread Florian Festi
ffesti commented on this pull request. > @@ -736,6 +736,16 @@ static rpmRC rpmPlatform(rpmrcCtx ctx, const char * > platform) } +# if defined(__linux__) && defined(__x86_64__) OK , there's a #if defined(__linux__) && defined(__i386__) branch just below with its own

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-18 Thread ニール・ゴンパ
Conan-Kudo commented on this pull request. > @@ -736,6 +736,16 @@ static rpmRC rpmPlatform(rpmrcCtx ctx, const char * > platform) } +# if defined(__linux__) && defined(__x86_64__) Wait nope, there's a `cpuid()` implementation for i386 right below... -- You are receiving this

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-18 Thread Florian Festi
ffesti commented on this pull request. > @@ -736,6 +736,16 @@ static rpmRC rpmPlatform(rpmrcCtx ctx, const char * > platform) } +# if defined(__linux__) && defined(__x86_64__) Hmm, shouldn't the #if match up with the one around is_ryzen or be more general? -- You are receiving

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-18 Thread ニール・ゴンパ
Conan-Kudo commented on this pull request. > @@ -736,6 +736,16 @@ static rpmRC rpmPlatform(rpmrcCtx ctx, const char * > platform) } +# if defined(__linux__) && defined(__x86_64__) You're right, this was accidentally broken when I rebased it again... -- You are receiving this

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-03 Thread ニール・ゴンパ
@ffesti Mainly because nothing else seemed to follow that convention? They all seemed to use the GCC machine architecture name, and so we went with that. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-03 Thread Florian Festi
I think one of the questions is: Why doesn't the name start with x86_64 or at least something closer to that? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-03 Thread ニール・ゴンパ
@pmatilai The addition of this new architecture name is because we need a way to declare incompatibility at the RPM level for CPUs that don't support it. This is pretty much the only way we can do it. When this was first being worked on, nobody seemed to think there was any better way to do

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-03 Thread Panu Matilainen
Ignoring the actual micro architecture, as a general principle we do not add new assembler foo into rpm. That there is pre-existing asm code doesn't mean it's a good idea, on the contrary the existing stuff needs to go too but that's obviously not in the scope here. -- You are receiving this

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-03 Thread Panu Matilainen
Erm. So we have this nice sane architecture family known as x86_64, so lets go call it znver to make it ... more exciting? Sorry but I just don't think so. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-02 Thread ニール・ゴンパ
@mikhailnov I'm not going to add architectures nobody has... -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-02 Thread mikhailnov
Why znver1 only, why only this architecture? It looks a bit strange -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

[Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2020-02-01 Thread ニール・ゴンパ
This change adds the ability for RPM to detect systems running on AMD Ryzen systems and allow the installation of packages that are built specifically for this subarchitecture. As part of this change, a new `%x86_64` macro has been introduced to alias all 64-bit x86 architecture variants in