Re: pg_atomic_exchange_u32() in ProcArrayGroupClearXid()

Alexander Korotkov <a.korotkov@postgrespro.ru>

From: Alexander Korotkov <a.korotkov@postgrespro.ru>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-09-22T13:28:21Z
Lists: pgsql-hackers
On Sat, Sep 22, 2018 at 9:55 AM Amit Kapila <amit.kapila16@gmail.com> wrote:

> On Fri, Sep 21, 2018 at 11:06 PM Alexander Korotkov
> <a.korotkov@postgrespro.ru> wrote:
> > While investigating ProcArrayGroupClearXid() code I wonder why do we
> have this loop instead of plain pg_atomic_exchange_u32() call?
>
> We can use pg_atomic_exchange_u32 instead of a loop.  In fact, clog
> code uses pg_atomic_exchange_u32 for the same purpose.  I think it is
> better to make the code consistent at both places.  Feel free to
> change it, otherwise, I can take care of it in a few days time.
>

Thank you for feedback.  Pushed.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Commits

  1. Replace CAS loop with single TAS in ProcArrayGroupClearXid()