Commit 7e8b1e78 authored by Richard Braun's avatar Richard Braun Committed by Paul E. McKenney
Browse files

Documentation: Memory barrier semantics of atomic_xchg()



Add atomic_xchg() to documentation for atomic operations and
memory barriers.

Signed-off-by: default avatarRichard Braun <rbraun@sceen.net>
Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
parent 52494535
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -253,6 +253,8 @@ This performs an atomic exchange operation on the atomic variable v, setting
the given new value.  It returns the old value that the atomic variable v had
the given new value.  It returns the old value that the atomic variable v had
just before the operation.
just before the operation.


atomic_xchg requires explicit memory barriers around the operation.

	int atomic_cmpxchg(atomic_t *v, int old, int new);
	int atomic_cmpxchg(atomic_t *v, int old, int new);


This performs an atomic compare exchange operation on the atomic value v,
This performs an atomic compare exchange operation on the atomic value v,
+1 −0
Original line number Original line Diff line number Diff line
@@ -1685,6 +1685,7 @@ explicit lock operations, described later). These include:


	xchg();
	xchg();
	cmpxchg();
	cmpxchg();
	atomic_xchg();
	atomic_cmpxchg();
	atomic_cmpxchg();
	atomic_inc_return();
	atomic_inc_return();
	atomic_dec_return();
	atomic_dec_return();