Alvaro Herrera <alvhe...@alvh.no-ip.org> writes: > Yeah ... it would be much better if we can make it use atomics instead.
I was thinking more like "do we need any locking at all". Assuming that a proc's vacuumFlags can be set by only the process itself, there's no write conflicts to worry about. On the read side, there's a hazard that onlookers will not see the PROC_IN_SAFE_IC flag set; but that's not any different from what the outcome would be if they looked just before this stanza executes. And even if they don't see it, at worst we lose the optimization being proposed. There is a question of whether it's important that both copies of the flag appear to update atomically ... but that just begs the question "why in heaven's name are there two copies?" regards, tom lane