On 01/07/2020, 18:40, "Zidenberg, Tsahi" <tsahee@amazon.com> 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.
>
> 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).
>
> The patch uses an existing configure.in macro to detect compiler support of the flag. Checking for
> aarch64 machine is not strictly necessary, but was added for readability.
Added a commitfest entry:
https://commitfest.postgresql.org/29/2637/
Thank you!
Tsahi