Re: [PATCH] audo-detect and use -moutline-atomics compilation flag for aarch64 - Mailing list pgsql-hackers

From Andres Freund
Subject Re: [PATCH] audo-detect and use -moutline-atomics compilation flag for aarch64
Date
Msg-id 20200724011707.um3qe2pbnydvla45@alap3.anarazel.de
Whole thread Raw
In response to [PATCH] audo-detect and use -moutline-atomics compilation flag for aarch64  ("Zidenberg, Tsahi" <tsahee@amazon.com>)
Responses Re: [PATCH] audo-detect and use -moutline-atomics compilation flag for aarch64  ("Zidenberg, Tsahi" <tsahee@amazon.com>)
List pgsql-hackers
Hi,

On 2020-07-01 15:40:38 +0000, Zidenberg, Tsahi wrote:
> Outline-atomics is a gcc compilation flag that adds runtime detection
> of weather or not the cpu supports atomic instructions. CPUs that
> don't support atomic instructions will use the old
> load-exclusive/store-exclusive instructions. If a different
> compilation flag defined an architecture that unconditionally supports
> atomic instructions (e.g. -march=armv8.2), the outline-atomic flag
> will have no effect.

Sounds attractive.


> The patch was tested to improve pgbench simple-update by 10% and
> sysbench write-only by 3% on a 64-core armv8.2 machine (AWS
> m6g.16xlarge). Select-only and read-only benchmarks were not
> significantly affected, and neither was performance on a 16-core
> armv8.0 machine that does not support atomic instructions (AWS
> a1.4xlarge).

What does "not significantly affected" exactly mean? Could you post the
raw numbers?  I'm a bit concerned that the additional conditional
branches on platforms without non ll/sc atomics could hurt noticably.

I'm surprised that read-only didn't benefit - with ll/sc that ought to
have pretty high contention on a few lwlocks.

Could you post the numbers?

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Improving connection scalability: GetSnapshotData()
Next
From: Tomas Vondra
Date:
Subject: Re: Default setting for enable_hashagg_disk