pgsql: Remove most volatile qualifiers from xlog.c - Mailing list pgsql-committers

From Andres Freund
Subject pgsql: Remove most volatile qualifiers from xlog.c
Date
Msg-id E1XWBT3-0002OT-Vu@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Remove most volatile qualifiers from xlog.c

For the reason outlined in df4077cda2e also remove volatile qualifiers
from xlog.c. Some of these uses of volatile have been added after
noticing problems back when spinlocks didn't imply compiler
barriers. So they are a good test - in fact removing the volatiles
breaks when done without the barriers in spinlocks present.

Several uses of volatile remain where they are explicitly used to
access shared memory without locks. These locations are ok with
slightly out of date data, but removing the volatile might lead to the
variables never being reread from memory. These uses could also be
replaced by barriers, but that's a separate change of doubtful value.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/6ba4ecbf477e0b25dd7bde1b0c4e07fc2da19348

Modified Files
--------------
src/backend/access/transam/xlog.c |  470 ++++++++++++++-----------------------
1 file changed, 173 insertions(+), 297 deletions(-)


pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: pgsql: Remove volatile qualifiers from lwlock.c.
Next
From: Stephen Frost
Date:
Subject: pgsql: Process withCheckOption exprs in setrefs.c