pgsql: Avoid need for valgrind suppressions for pg_atomic_init_u64 on s

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Avoid need for valgrind suppressions for pg_atomic_init_u64 on s
Date: 2020-06-09 03:24:58
Message-ID: E1jiUsk-0004CU-TN@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Avoid need for valgrind suppressions for pg_atomic_init_u64 on some platforms.

Previously we used pg_atomic_write_64_impl inside
pg_atomic_init_u64. That works correctly, but on platforms without
64bit single copy atomicity it could trigger spurious valgrind errors
about uninitialized memory, because we use compare_and_swap for atomic
writes on such platforms.

I previously suppressed one instance of this problem (6c878edc1df),
but as Tom reports that wasn't enough. As the atomic variable cannot
yet be concurrently accessible during initialization, it seems better
to have pg_atomic_init_64_impl set the value directly.

Change pg_atomic_init_u32_impl for symmetry.

Reported-By: Tom Lane
Author: Andres Freund
Discussion: https://postgr.es/m/1714601.1591503815@sss.pgh.pa.us
Backpatch: 9.5-

Branch
------
REL9_6_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/e3c878ffdddce4a70ba9771e0493f3bb3f7b1b7d

Modified Files
--------------
src/include/port/atomics/generic.h | 4 ++--
src/tools/valgrind.supp | 14 --------------
2 files changed, 2 insertions(+), 16 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2020-06-09 03:25:01 pgsql: Avoid need for valgrind suppressions for pg_atomic_init_u64 on s
Previous Message Andres Freund 2020-06-09 03:24:56 pgsql: Avoid need for valgrind suppressions for pg_atomic_init_u64 on s