diff options
author | 2015-12-15 22:24:17 +0800 | |
---|---|---|
committer | 2016-02-18 00:11:39 +1100 | |
commit | 56c08e6d226c860ad097fa6ba109133228c56722 (patch) | |
tree | e7888be8d1d81987e5acc648b2c52d9bac5e41ff /tools/perf/scripts/python/export-to-postgresql.py | |
parent | powerpc: atomic: Implement acquire/release/relaxed variants for xchg (diff) | |
download | wireguard-linux-56c08e6d226c860ad097fa6ba109133228c56722.tar.xz wireguard-linux-56c08e6d226c860ad097fa6ba109133228c56722.zip |
powerpc: atomic: Implement acquire/release/relaxed variants for cmpxchg
Implement cmpxchg{,64}_relaxed and atomic{,64}_cmpxchg_relaxed, based on
which _release variants can be built.
To avoid superfluous barriers in _acquire variants, we implement these
operations with assembly code rather use __atomic_op_acquire() to build
them automatically.
For the same reason, we keep the assembly implementation of fully
ordered cmpxchg operations.
However, we don't do the similar for _release, because that will require
putting barriers in the middle of ll/sc loops, which is probably a bad
idea.
Note cmpxchg{,64}_relaxed and atomic{,64}_cmpxchg_relaxed are not
compiler barriers.
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions