ilinpv added a comment.

> Offtopic: Outlining atomics seems to be very CPU specific thing. In my 
> experience LSE were ~= old exclusive semantics. So adding extra call + extra 
> bit check (too bad IFUNCs are not used :)) each time it would be executed 
> seems to be quite an extra load (for CPU, TLB, dcache..), so I'm not sure 
> that outline atomics is a win-win thing (at least on some of the CPUs). This 
> is absolutely not a case for this patch anyway, just some of my thoughts, I 
> would be glad to hear other opinions :)

Outline atomics overhead is mostly negligible. "Various members in the Arm 
ecosystem have measured the performance impact of this indirection on a diverse 
set of systems and we were happy to find out that it was minimal compared to 
the benefit of using the LSE instructions for better scalability at large core 
counts." 
https://community.arm.com/arm-community-blogs/b/tools-software-ides-blog/posts/making-the-most-of-the-arm-architecture-in-gcc-10
For IFUNCs Function Multi Versioning 
https://github.com/ARM-software/acle/blob/main/main/acle.md#function-multi-versioning
 ##lse## feature can be used.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D159398/new/

https://reviews.llvm.org/D159398

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to