From: Nathan Bossart <nathandbossart@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers@postgresql.org
Cc: dipiets@amazon.com
Subject: Re: use a non-locking initial test in TAS_SPIN on AArch64
Date: Thu, 9 Jan 2025 12:15:59 -0600
Message-ID: <Z4ASX5Zc0GA-1J-Z@nathan> (raw)
In-Reply-To: <1759000.1736377664@sss.pgh.pa.us>
References: <ZxgDEb_VpWyNZKB_@nathan>
<Z37AA6-SsJoLaifa@nathan>
<tdex7aj3zrvdu22dfgtljbrybrjezbjpr374otnadi6qxywkmc@rzxtb2fbubpy>
<Z371r_AVOU0WCrBr@nathan>
<1759000.1736377664@sss.pgh.pa.us>
On Wed, Jan 08, 2025 at 06:07:44PM -0500, Tom Lane wrote:
> Nathan Bossart <nathandbossart@gmail.com> writes:
>> AFAICT TAS_SPIN() is only used for s_lock(), which doesn't appear to be
>> used by LWLocks. But I did retry my test from upthread without
>> pg_stat_statements and was surprised to find a reproducible 4-6%
>> regression.
>
> On what hardware?
This was on a c8g.24xlarge (Neoverse-V2, Armv9.0-a) [0].
> I just spent an hour beating on my M4 Pro (the 14-core variant)
> and could not detect any outside-the-noise effect of this patch,
> with or without pg_stat_statements loaded. There does seem to be
> a small fraction-of-a-percent-ish benefit. But the run-to-run
> variation with 60-second "pgbench -S" tests is a couple of percent,
> so I can't say that that's real.
>
> I do feel pretty sure that the patch doesn't hurt on this
> class of hardware.
Great. This matches what I saw on an M3.
[0] https://github.com/aws/aws-graviton-getting-started/blob/main/README.md#building-for-graviton
--
nathan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: nathandbossart@gmail.com, tgl@sss.pgh.pa.us, andres@anarazel.de, dipiets@amazon.com
Subject: Re: use a non-locking initial test in TAS_SPIN on AArch64
In-Reply-To: <Z4ASX5Zc0GA-1J-Z@nathan>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox