On Tue, Aug 4, 2015 at 11:33 AM, Andres Freund <and...@anarazel.de> wrote: > On 2015-08-04 11:29:39 -0400, Robert Haas wrote: >> On Mon, Aug 3, 2015 at 8:39 AM, Amit Kapila <amit.kapil...@gmail.com> wrote: >> 1. I got rid of all of the typecasts. You're supposed to treat >> pg_atomic_u32 as a magic data type that is only manipulated via the >> primitives provided, not just cast back and forth between that and >> u32. > > Absolutely. Otherwise no fallbacks can work. > >> 2. I got rid of the memory barriers. System calls are full barriers, >> and so are compare-and-exchange operations. Between those two facts, >> we should be fine without these. > > Actually by far not all system calls are full barriers?
How do we know which ones are and which ones are not? I can't believe PGSemaphoreUnlock isn't a barrier. That would be cruel. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers