linux/arch/powerpc
Boqun Feng 56c08e6d22 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>
2016-02-18 00:11:39 +11:00
..
boot powerpc updates for 4.5 2016-01-15 13:18:47 -08:00
configs powerpc/85xx: Enable TWR_P102x in mpc85xx_basic_defconfig 2015-12-22 18:23:21 -06:00
crypto powerpc: Create disable_kernel_{fp,altivec,vsx,spe}() 2015-12-01 13:52:25 +11:00
include powerpc: atomic: Implement acquire/release/relaxed variants for cmpxchg 2016-02-18 00:11:39 +11:00
kernel powerpc: Fix kgdb on little endian ppc64le 2016-02-18 00:03:26 +11:00
kvm s390 and POWER bug fixes, plus enabling the KVM-VFIO interface on s390. 2016-01-27 10:50:42 -08:00
lib powerpc: Create disable_kernel_{fp,altivec,vsx,spe}() 2015-12-01 13:52:25 +11:00
math-emu
mm powerpc/mm: Allow user space to map rtas_rmo_buf 2016-01-25 16:31:13 +11:00
net net: filter: make JITs zero A for SKF_AD_ALU_XOR_X 2016-01-06 00:43:52 -05:00
oprofile powerpc: Remove mtmsrd(), use existing mtmsr() 2015-07-13 15:47:28 +10:00
perf powerpc/perf/hv-gpci: Increase request buffer size 2016-02-10 14:30:56 +11:00
platforms powerpc/powernv: allocate sparse PE# when using M64 BAR in Single PE mode 2016-02-10 12:04:58 +11:00
sysdev mm, dax, pmem: introduce pfn_t 2016-01-15 17:56:32 -08:00
xmon powerpc/xmon: Add xmon command to dump process/task similar to ps(1) 2016-02-10 10:22:04 +11:00
Kconfig dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
Kconfig.debug powerpc updates for 4.5 2016-01-15 13:18:47 -08:00
Makefile powerpc/cell: Drop CONFIG_TUNE_CELL in favour of CONFIG_CELL_CPU 2015-10-19 19:51:18 +11:00
relocs_check.sh powerpc: Convert relocs_check to a shell script using grep 2015-03-23 14:47:39 +11:00