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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Apr 2018 07:32:06 +0000 (09:32 +0200)
commitdcc29e3f43fa46acd746203ea1153af39a60ecb1
treec678bcd513f95e748be53a176103f6a153f36a35
parentc8d4770e46042457ebea2b1786d878f3e6831423
powerpc/64: Fix smp_wmb barrier definition use use lwsync consistently

commit 0bfdf598900fd62869659f360d3387ed80eb71cf upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/include/asm/barrier.h
arch/powerpc/include/asm/synch.h