Announcement

Collapse
No announcement yet.

AMD Retpoline Benchmarks From FX To Threadripper & EPYC

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Adarion
    replied
    Originally posted by phred14 View Post

    I never did a full recompile for the move to gcc-5.4 - I don't remember seeing that in the instructions. My systems seemed to run just fine. It's moot now, because I've just finished a full recompilation with gcc-6.4.

    I have six systems running Gentoo, and do it all native on each machine. I'm thinking of moving some of my infrastructure to Pi-type stuff in the near future, and for that I'll likely use some sort of build-host.
    Should have been in one of the news items.
    Caused most of things to recompile iirc.
    Later that year gcc 6.4.0. came and the new profile that switched PIE on. I guess we'll soon see the next.

    Six machines is quite a number, though, if they're fast it's probably acceptable.
    But if you have several desktop machines, and some of the low power (but also lower numbercrunching power) it starts to hurt. Or generally elderly systems. Pure command line systems are fine, I compile most stuff there natively, or some are thin clients anyway with an easily exchangeable CF card for chroot compiling on the big box. But a full KDE (+qt and stuff) on something like an E-350 based notebook... meh. It's possible but you can't use the device for a few days on a total recompile. (So I ended up unscrewing the SSD from it and doing the compilation on the big box. )

    GCC 5 uses the new C++ ABI by default. When building new code, you might run
    into link time errors that include lines similar to:
    ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'

    Or you might see linkage failures with "std::__cxx11::string" in the output.

    These are signs that you need to rebuild packages using the new C++ ABI.
    You can quickly do so by using revdep-rebuild (from gentoolkit).

    For gentoolkit-0.3.1 or higher:
    # revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc

    For previous versions of gentoolkit:
    # revdep-rebuild --library 'libstdc\+\+\.so\.6' -- --exclude gcc

    For more details, feel free to peruse:

    Gentoo allows users to have multiple versions of gcc installed and we (mostly?) support systems where userland is partially build with different versions.  There are both advantages and disadvantag…

    Leave a comment:


  • wizard69
    replied
    Originally posted by boxie View Post

    I noted the same on the 1800X - it gains a small performance boost. that's cool
    This is cool. If there is nothing odd going on here most AMD users will be better off with these patches. That is a surprise and will make AMD's chips look a little better vs Intels. Of course it is still early days for these mitigations.

    Leave a comment:


  • phred14
    replied
    Originally posted by Adarion View Post
    And we just had gcc 5.4.0 with c++11 which needed a complete recompile that year, then, in late fall the 6.4.0/PIE/c++14 thing with the next recompile.
    I mean, I got 8 to 10 systems with Gentoo, and for most I am chroot compiling on the big bix.
    I never did a full recompile for the move to gcc-5.4 - I don't remember seeing that in the instructions. My systems seemed to run just fine. It's moot now, because I've just finished a full recompilation with gcc-6.4.

    I have six systems running Gentoo, and do it all native on each machine. I'm thinking of moving some of my infrastructure to Pi-type stuff in the near future, and for that I'll likely use some sort of build-host.

    Leave a comment:


  • Adarion
    replied
    Originally posted by phred14 View Post

    Fortunately I'm just finishing up my profile-17 migration, and have done nothing about the profile-71.1 yet. I think I'll just hang loose a bit and recompile for both at the same time. Besides, profile-17.1 isn't stable yet. Wait... Does profile-17.1 require a full recompile, too?
    Not stable yet. And I'll keep my hands off it, considering the (few though) problems I had during 13.x -> 17.0 transition. (few things did not compile) And we just had gcc 5.4.0 with c++11 which needed a complete recompile that year, then, in late fall the 6.4.0/PIE/c++14 thing with the next recompile.
    I mean, I got 8 to 10 systems with Gentoo, and for most I am chroot compiling on the big bix. This isn't really fun to see the next complete --emptytree recompile happening. (command line only systems may be okay, but I got at least 4 systems with KDE or XFCE and thus full DE stack plus browsers (partially -bin, though) and libreoffice and stuff. Some aren't available as -bin - and qt*, gtk:2/gtk:3, wkgtk, boost/+~build, llvm/clang/gcc/stuff take really take long to compile.
    It's a bit painful, but then, nobody there could have seen these HW issues coming.

    I'll lean back from my only mildly affected position and wait until things are stable, the first fallout has gone and then I'll give it a go.

    Leave a comment:


  • boxie
    replied
    Originally posted by Redi44 View Post
    So my FX is more powerful after the fix? That's an interesting turn of events.
    I noted the same on the 1800X - it gains a small performance boost. that's cool

    Leave a comment:


  • Redi44
    replied
    So my FX is more powerful after the fix? That's an interesting turn of events.

    Leave a comment:


  • phred14
    replied
    So the default is "spectre_v2=auto", which -seems- sensible. Is it smart enough to see that it's on an AMD machine and pick "retpoline,amd"? When it's on an Intel machine will it pick "retpoline" or "retpoline,generic"?

    Leave a comment:


  • phred14
    replied
    Originally posted by Adarion View Post
    I see more full system recompiles of Gentoo coming... *sigh* With the new mitigation technologies built into compilers. Oh, well, it's not that we just compiled a ton of things twice.
    Fortunately I'm just finishing up my profile-17 migration, and have done nothing about the profile-71.1 yet. I think I'll just hang loose a bit and recompile for both at the same time. Besides, profile-17.1 isn't stable yet. Wait... Does profile-17.1 require a full recompile, too?

    Leave a comment:


  • newwen
    replied
    If using retpoline renders indirect branch speculation useless, I don’t understand why you just don’t implement / use IBRS, which doesn’t disable speculation, but prevents from being victim of indirect branch predictor poisoning from outside the kernel.

    retpolines are a clever hack, but very ugly as a solution.

    Leave a comment:


  • Adarion
    replied
    I see more full system recompiles of Gentoo coming... *sigh* With the new mitigation technologies built into compilers. Oh, well, it's not that we just compiled a ton of things twice.

    Anyway, these HW bugs happened and we got to act. Luckily my AMD and older VIA,... boxes are not or only mildly affected and these Retpoline changes don't seem too harsh (besides that one ThreadRipper benchmark with the readings). And over time there will probably be a few optimizations. So I'm kinda looking forward to these kernel patches.

    Leave a comment:

Working...
X