Обсуждение: pgsql: Impose a full barrier in generic-xlc.h atomics functions.

Поиск
Список
Период
Сортировка

pgsql: Impose a full barrier in generic-xlc.h atomics functions.

От
Noah Misch
Дата:
Impose a full barrier in generic-xlc.h atomics functions.

pg_atomic_compare_exchange_*_impl() were providing only the semantics of
an acquire barrier.  Buildfarm members hornet and mandrill revealed this
deficit beginning with commit 008608b9d51061b1f598c197477b3dc7be9c4a64.
While we have no report of symptoms in 9.5, we can't rule out the
possibility of certain compilers, hardware, or extension code relying on
these functions' specified barrier semantics.  Back-patch to 9.5, where
commit b64d92f1a5602c55ee8b27a7ac474f03b7aee340 introduced atomics.

Reviewed by Andres Freund.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/213c7df0337278c71c98e90605dc83023db1a80e

Modified Files
--------------
src/include/port/atomics/generic-xlc.h | 26 ++++++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)