From: Michael Ellerman Date: Thu, 26 Nov 2020 13:10:02 +0000 (+1100) Subject: powerpc/barrier: Use CONFIG_PPC64 for barrier selection X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1f1676bb2dd52c1054db8476d6387e6dcf62a1ba;p=linux.git powerpc/barrier: Use CONFIG_PPC64 for barrier selection Currently we use ifdef __powerpc64__ in barrier.h to decide if we should use lwsync or eieio for SMPWMB which is then used by __smp_wmb(). That means when we are building the compat VDSO we will use eieio, because it's 32-bit code, even though we're building a 64-bit kernel for a 64-bit CPU. Although eieio should work, it would be cleaner if we always used the same barrier, even for the 32-bit VDSO. So change the ifdef to CONFIG_PPC64, so that the selection is made based on the bitness of the kernel we're building for, not the current compilation unit. Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/20201126131006.2431205-5-mpe@ellerman.id.au --- diff --git a/arch/powerpc/include/asm/barrier.h b/arch/powerpc/include/asm/barrier.h index f53c423808327..aecfde829d5da 100644 --- a/arch/powerpc/include/asm/barrier.h +++ b/arch/powerpc/include/asm/barrier.h @@ -40,7 +40,7 @@ #define wmb() __asm__ __volatile__ ("sync" : : : "memory") /* The sub-arch has lwsync */ -#if defined(__powerpc64__) || defined(CONFIG_PPC_E500MC) +#if defined(CONFIG_PPC64) || defined(CONFIG_PPC_E500MC) # define SMPWMB LWSYNC #else # define SMPWMB eieio