linux/arch/arc
Vineet Gupta e965e3a11b ARC: add smp barriers around atomics per Documentation/atomic_ops.txt
[ Upstream commit 2576c28e3f ]

 - arch_spin_lock/unlock were lacking the ACQUIRE/RELEASE barriers
   Since ARCv2 only provides load/load, store/store and all/all, we need
   the full barrier

 - LLOCK/SCOND based atomics, bitops, cmpxchg, which return modified
   values were lacking the explicit smp barriers.

 - Non LLOCK/SCOND varaints don't need the explicit barriers since that
   is implicity provided by the spin locks used to implement the
   critical section (the spin lock barriers in turn are also fixed in
   this commit as explained above

Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: stable@vger.kernel.org
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2015-07-05 10:12:50 -04:00
..
boot ARC: [nsimosci] move peripherals to match model to FPGA 2015-01-27 08:29:36 -08:00
configs ARC: [arcfpga] Get rid of ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 2014-10-13 14:46:14 +05:30
include ARC: add smp barriers around atomics per Documentation/atomic_ops.txt 2015-07-05 10:12:50 -04:00
kernel ARC: signal handling robustify 2015-04-22 23:31:18 -04:00
lib ARC: switch to generic ENTRY/END assembler annotations 2014-03-26 14:31:28 +05:30
mm arc: mm: Fix build failure 2015-02-05 22:36:01 -08:00
oprofile ARC: OProfile support 2013-02-15 23:16:00 +05:30
plat-arcfpga ARC: [arcfpga] Get rid of ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 2014-10-13 14:46:14 +05:30
plat-tb10x ARC: [plat*] move code out of .init_machine into common 2014-10-13 14:46:13 +05:30
Kbuild ARC: Build system: Makefiles, Kconfig, Linker script 2013-02-11 20:00:25 +05:30
Kconfig ARC: Remove unneeded Kconfig entry NO_DMA 2014-10-13 14:46:19 +05:30
Kconfig.debug consolidate per-arch stack overflow debugging options 2013-07-04 11:25:39 -07:00
Makefile ARC: remove gcc mpy heuristics 2014-10-13 14:46:17 +05:30