Re: Add spin_delay() implementation for Arm in s_lock.h
Blake, Geoff <blakgeof@amazon.com>
From: "Blake, Geoff" <blakgeof@amazon.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2021-12-13T17:27:00Z
Lists: pgsql-hackers
Hi Tom,
> What did you test exactly?
Tested 3 benchmark configurations on an m6g.16xlarge (Graviton2, 64 cpus, 256GB RAM)
I set the scale factor to consume about 1/3 of 256GB and the other parameters in the next line.
pgbench setup: -F 90 -s 5622 -c 256
Pgbench select-only w/ patch 662804 tps (-0.5%)
w/o patch 666354 tps.
tcpb-like w/ patch 35844 tps (0%)
w/o patch 35835 tps
We also test with Hammerdb when evaluating patches, it shows the patch gets +3%:
Hammerdb (192 Warehouse 256 clients)
w/ patch 1147463 NOPM (+3%)
w/o patch 1112908 NOPM
I've run pgbench more than once and the measured TPS values overlap, even though the means on select-only show a small degradation at the moment I am concluding it is noise. On Hammerdb, the results show a measurable difference.
Thanks,
Geoff
Commits
-
Use ISB as a spin-delay instruction on ARM64.
- a82a5eee314d 15.0 landed