On Tue, Jun 14, 2016 at 12:16 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.com> writes: >> Of course, it would be nice if we could make these counters 64-bit >> integers, but we can't, because we don't rely on 64-bit reads and >> writes to be atomic on all platforms. So instead they'll have to be >> uint32. That means they could wrap (if you really work at it) but >> subtraction will still return the right answer, so it's OK. > > OK ... > >> If we >> want to allow the number of parallel workers started to be available >> for statistical purposes, we can keep to uint32 values for that >> (parallel_register_count_lo and parallel_register_count_hi, for >> example), and increment the second one whenever the first one rolls >> over to zero. > > And that's going to be atomic how exactly?
The only process that can look at that structure without taking a lock is the postmaster. And the postmaster would only examine parallel_register_count_lo. -- 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