Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

locking/barriers, tile: Provide TILE specific smp_acquire__after_ctrl_dep()

Since TILE doesn't do read speculation, its control dependencies also
guarantee LOAD->LOAD order and we don't need the additional RMB
otherwise required to provide ACQUIRE semantics.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Chris Metcalf <cmetcalf@mellanox.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>

authored by

Peter Zijlstra and committed by
Ingo Molnar
b464d127 7cb45c0f

+7
+7
arch/tile/include/asm/barrier.h
··· 87 87 #define __smp_mb__after_atomic() __smp_mb() 88 88 #endif 89 89 90 + /* 91 + * The TILE architecture does not do speculative reads; this ensures 92 + * that a control dependency also orders against loads and already provides 93 + * a LOAD->{LOAD,STORE} order and can forgo the additional RMB. 94 + */ 95 + #define smp_acquire__after_ctrl_dep() barrier() 96 + 90 97 #include <asm-generic/barrier.h> 91 98 92 99 #endif /* !__ASSEMBLY__ */