android_kernel_samsung_univ.../arch/arm64
Will Deacon 554b0ee1e8 arm64: spinlocks: implement smp_mb__before_spinlock() as smp_mb()
commit 872c63fbf9e153146b07f0cece4da0d70b283eeb upstream.

smp_mb__before_spinlock() is intended to upgrade a spin_lock() operation
to a full barrier, such that prior stores are ordered with respect to
loads and stores occuring inside the critical section.

Unfortunately, the core code defines the barrier as smp_wmb(), which
is insufficient to provide the required ordering guarantees when used in
conjunction with our load-acquire-based spinlock implementation.

This patch overrides the arm64 definition of smp_mb__before_spinlock()
to map to a full smp_mb().

Cc: Peter Zijlstra <peterz@infradead.org>
Reported-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-24 10:07:41 +02:00
..
boot arm64: dts: rockchip: add reset saradc node for rk3368 SoCs 2016-09-07 08:32:41 +02:00
configs arm64 fixes and clean-ups: 2015-11-12 15:33:11 -08:00
crypto arm64: crypto: reduce priority of core AES cipher 2015-11-18 12:09:08 +00:00
include arm64: spinlocks: implement smp_mb__before_spinlock() as smp_mb() 2016-09-24 10:07:41 +02:00
kernel arm64: Add workaround for Cavium erratum 27456 2016-09-15 08:27:44 +02:00
kvm arm64: KVM: Configure TCR_EL2.PS at runtime 2016-09-15 08:27:43 +02:00
lib
mm arm64: Add workaround for Cavium erratum 27456 2016-09-15 08:27:44 +02:00
net arm64: bpf: add 'store immediate' instruction 2015-12-03 11:38:31 -05:00
xen
Kconfig irqchip/gicv3-its: numa: Enable workaround for Cavium thunderx erratum 23144 2016-09-15 08:27:47 +02:00
Kconfig.debug arm64: remove redundant FRAME_POINTER kconfig option and force to select it 2015-11-10 10:36:00 +00:00
Kconfig.platforms ARM: DT updates for v4.4 2015-11-10 15:06:26 -08:00
Makefile arm64: errata: Add -mpc-relative-literal-loads to build flags 2016-03-03 15:07:08 -08:00