diff options
| author | Will Deacon <will.deacon@arm.com> | 2016-09-05 11:56:05 +0100 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-04-11 10:57:50 +0200 |
| commit | 28af0094c4533a4c4e8ed5fa7e5d754a37696c38 (patch) | |
| tree | 3ebd37ed9895bf8ca6302d7d2dc801739e887e01 /Android.mk | |
| parent | de2945657e6fe911b7d7f0f9ef201814915d636d (diff) | |
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: Willy Tarreau <w@1wt.eu>
Diffstat (limited to 'Android.mk')
0 files changed, 0 insertions, 0 deletions
