From 7120f39c8250b864c42a681c31d53c733d972ff5 Mon Sep 17 00:00:00 2001 From: kib Date: Sat, 27 Jun 2015 09:47:28 +0000 Subject: [PATCH] MFC r284646: The barriers, provided by _acq and _rel atomics, are acquire and release barriers, not read and write barriers. git-svn-id: svn://svn.freebsd.org/base/stable/10@284888 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- share/man/man9/atomic.9 | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/share/man/man9/atomic.9 b/share/man/man9/atomic.9 index 44d800e8b..727ef4712 100644 --- a/share/man/man9/atomic.9 +++ b/share/man/man9/atomic.9 @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 20, 2013 +.Dd June 20, 2015 .Dt ATOMIC 9 .Os .Sh NAME @@ -123,7 +123,9 @@ The first form just performs the operation without any explicit barriers. The second form uses a read memory barrier, and the third variant uses a write memory barrier. .Pp -The second variant of each operation includes a read memory barrier. +The second variant of each operation includes an +.Em acquire +memory barrier. This barrier ensures that the effects of this operation are completed before the effects of any later data accesses. As a result, the operation is said to have acquire semantics as it acquires a @@ -137,7 +139,9 @@ For example, to subtract two integers ensuring that any later writes will happen after the subtraction is performed, use .Fn atomic_subtract_acq_int . .Pp -The third variant of each operation includes a write memory barrier. +The third variant of each operation includes a +.Em release +memory barrier. This ensures that all effects of all previous data accesses are completed before this operation takes place. As a result, the operation is said to have release semantics as it releases -- 2.45.0