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