On 29/09/2020, 10:21, "Heikki Linnakangas" <hlinnaka@iki.fi> wrote:
> If it's a good idea to use -moutline-atomics, I would expect the
> compiler or distribution to enable it by default. And as you pointed
> out, many have.
-moutline-atomics is only enabled by default on the gcc-10 branch where
it was originally developed. It was important enough to be backported
to previous versions and picked up by e.g. ubuntu and amazon-linux.
However, outline-atomics is not enabled by default in any backports that
I'm aware of. Ubuntu 20.04 even turned it off by default for gcc-10,
which seems like a compatibility step with the main gcc-9 compiler.
Always-enabled outline-atomic is, sadly, many years in the
future for release systems.
> For the others, there are probably reasons they haven't,
> like begin conservative in general. Whatever the reasons, IMHO we should
> not second-guess them.
I assume GCC chose conservatively not to add code by default that
won't help old CPUs when increasing minor versions (although I see
no performance degradation in real software).
On the other hand, the feature was important enough to be
back-ported to allow software to take advantage of it.
Postgresql should be the most advanced open source database.
As I understand it, it should be able to handle as well as possible
large workloads on large modern machines like Graviton2, and
that means using LSE.
> I'm marking this as Rejected in the commitfest. But thanks for the
> benchmarking, that is valuable information nevertheless.
Could additional data change your mind?