Re: better atomics - v0.2 - Mailing list pgsql-hackers

From Robert Haas
Subject Re: better atomics - v0.2
Date
Msg-id CA+Tgmobhd5hwC+NzCfn2p1MO8EHZjhNgFQyLcA-cjRtSJzZJ6Q@mail.gmail.com
Whole thread Raw
In response to Re: better atomics - v0.2  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: better atomics - v0.2  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: better atomics - v0.2  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On Fri, Nov 15, 2013 at 3:04 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> Questions:
> * What do you like/dislike about the API (storage/atomics.h)
> * decide whether it's ok to rely on inline functions or whether we need
>   to provide out-of-line versions. I think we should just bite the
>   bullet and require support. Some very old arches might need to live with
>   warnings. Patch 01 tries to silence them on HP-UX.
> * decide whether we want to keep the semaphore fallback for
>   spinlocks. I strongly vote for removing it. The patchset provides
>   compiler based default implementations for atomics, so it's unlikely
>   to be helpful when bringing up a new platform.

On point #2, I don't personally know of any systems that I care about
where inlining isn't supported.  However, we've gone to quite a bit of
trouble relatively recently to keep things working for platforms where
that is the case, so I feel the need for an obligatory disclaimer: I
will not commit any patch that moves the wood in that area unless
there is massive consensus that this is an acceptable way forward.
Similarly for point #3: Heikki not long ago went to the trouble of
unbreaking --disable-spinlocks, which suggests that there is at least
some interest in continuing to be able to run in that mode.  I'm
perfectly OK with the decision that we don't care about that any more,
but I will not be the one to make that decision, and I think it
requires a greater-than-normal level of consensus.

On point #1, I dunno.  It looks like a lot of rearrangement to me, and
I'm not really sure what the final form of it is intended to be.  I
think it desperately needs a README explaining what the point of all
this is and how to add support for a new platform or compiler if yours
doesn't work.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: pre-commit triggers
Next
From: Robert Haas
Date:
Subject: Re: Errors on missing pg_subtrans/ files with 9.3