Re: Re: [COMMITTERS] pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold < - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Re: [COMMITTERS] pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold <
Date
Msg-id 857.1460561432@sss.pgh.pa.us
Whole thread Raw
In response to Re: Re: [COMMITTERS] pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold <  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, Apr 13, 2016 at 10:42 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> No, you're ignoring my point, which is what happens on single-CPU
>> 32-bit machines, and whether we aren't going to destroy performance
>> on low-end machines in pursuit of better performance on high-end.

> One of us is confused, or we're just talking past each other, because
> I don't think I'm ignoring your point at all.  In fact, I think I just
> responded to it rather directly.  I agree that the exact risk you are
> describing exists.  However, the multiple spinlock cycles that you are
> concerned about will only occur on a platform that doesn't support
> 64-bit atomics.  In order to test whether there is a performance
> problem on such hardware, or how serious that problem is, we'd need to
> have access to such hardware, and I don't know where to find any such
> hardware.  Do you?

As Andres says, low-end ARM machines are probably the most common such
hardware right now.  I have two non-ARM machines in the buildfarm that
certainly haven't got such instructions (prairiedog and gaur/pademelon).
Now I wouldn't propose that we need to concern ourselves very much with
performance on those two decade-plus-old platforms, but I do think that
performance on small ARM machines is still of interest.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Detrimental performance impact of ringbuffers on performance
Next
From: Kevin Grittner
Date:
Subject: Re: Re: [COMMITTERS] pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold <