]> git.baikalelectronics.ru Git - kernel.git/commit
locking/barriers: Introduce smp_cond_load_relaxed() and atomic_cond_read_relaxed()
authorWill Deacon <will.deacon@arm.com>
Thu, 26 Apr 2018 10:34:15 +0000 (11:34 +0100)
committerIngo Molnar <mingo@kernel.org>
Fri, 27 Apr 2018 07:48:44 +0000 (09:48 +0200)
commite3101ede20ae82c59e26cac8dd3fdc0d71e0332a
tree21ef852058607e75e1130f198abf7f958fb26d8f
parent6600de88e7b34059285213fe3eb10f5f895a89bf
locking/barriers: Introduce smp_cond_load_relaxed() and atomic_cond_read_relaxed()

Whilst we currently provide smp_cond_load_acquire() and
atomic_cond_read_acquire(), there are cases where the ACQUIRE semantics are
not required because of a subsequent fence or release operation once the
conditional loop has exited.

This patch adds relaxed versions of the conditional spinning primitives
to avoid unnecessary barrier overhead on architectures such as arm64.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Waiman Long <longman@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: boqun.feng@gmail.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: paulmck@linux.vnet.ibm.com
Link: http://lkml.kernel.org/r/1524738868-31318-2-git-send-email-will.deacon@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
include/asm-generic/atomic-long.h
include/asm-generic/barrier.h
include/linux/atomic.h