On Tue, Jun 14, 2016 at 12:16 PM, Tom Lane <[email protected]> wrote: > Robert Haas <[email protected]> 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 ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
