pgsql: Remove --disable-atomics, require 32 bit atomics.

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Remove --disable-atomics, require 32 bit atomics.
Date: 2024-07-30 11:03:37
Message-ID: E1sYkdl-001sbo-H6@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Remove --disable-atomics, require 32 bit atomics.

Modern versions of all relevant architectures and tool chains have
atomics support. Since edadeb07, there is no remaining reason to carry
code that simulates atomic flags and uint32 imperfectly with spinlocks.
64 bit atomics are still emulated with spinlocks, if needed, for now.

Any modern compiler capable of implementing C11 <stdatomic.h> must have
the underlying operations we need, though we don't require C11 yet. We
detect certain compilers and architectures, so hypothetical new systems
might need adjustments here.

Reviewed-by: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> (concept, not the patch)
Reviewed-by: Andres Freund <andres(at)anarazel(dot)de> (concept, not the patch)
Discussion: https://postgr.es/m/3351991.1697728588%40sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/81385261362962deb9861b39b509aeffe213721d

Modified Files
--------------
configure | 40 -----------
configure.ac | 13 ----
doc/src/sgml/installation.sgml | 25 -------
meson.build | 65 ++++++++----------
src/backend/port/atomics.c | 109 ------------------------------
src/include/pg_config.h.in | 3 -
src/include/port/atomics.h | 18 ++---
src/include/port/atomics/arch-x86.h | 8 ---
src/include/port/atomics/fallback.h | 87 +-----------------------
src/include/port/atomics/generic-gcc.h | 4 --
src/include/port/atomics/generic-msvc.h | 4 --
src/include/port/atomics/generic-sunpro.h | 8 ---
12 files changed, 39 insertions(+), 345 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2024-07-30 11:09:42 Re: pgsql: Remove --disable-spinlocks.
Previous Message Peter Eisentraut 2024-07-30 10:34:47 pgsql: pg_createsubscriber: Remove obsolete comment