powerpc/64: Fix smp_wmb barrier definition use use lwsync consistently
authorNicholas Piggin <npiggin@gmail.com>
Thu, 22 Mar 2018 10:41:46 +0000 (20:41 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 30 Mar 2018 13:10:34 +0000 (00:10 +1100)
commit0bfdf598900fd62869659f360d3387ed80eb71cf
tree023c77e758b6f8e8f2bee9de7f1463ea12bae481
parent9a2c1d31e6910b9d5e0205f9167d0b1abeea1413
powerpc/64: Fix smp_wmb barrier definition use use lwsync consistently

asm/barrier.h is not always included after asm/synch.h, which meant
it was missing __SUBARCH_HAS_LWSYNC, so in some files smp_wmb() would
be eieio when it should be lwsync. kernel/time/hrtimer.c is one case.

__SUBARCH_HAS_LWSYNC is only used in one place, so just fold it in
to where it's used. Previously with my small simulator config, 377
instances of eieio in the tree. After this patch there are 55.

Fixes: 46d075be585e ("powerpc: Optimise smp_wmb")
Cc: stable@vger.kernel.org # v2.6.29+
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/barrier.h
arch/powerpc/include/asm/synch.h