From: Andres Freund Date: Fri, 10 Mar 2017 19:14:06 +0000 (-0800) Subject: Enable 64 bit atomics on ARM64. X-Git-Tag: REL_10_BETA1~687 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f8f1430ae709c0018a217c77893754f38b3c5b93;p=postgresql Enable 64 bit atomics on ARM64. Previously they were disabled due to performance concerns on 32bit arm, where 64bit atomics are often implemented via kernel traps. Author: Roman Shaposhnik Discussion: http://postgr.es/m/CA+ULb+uErkFuXUCCXWHYvnV5KnAyjGUzzRcPA-M0cgO+Hm4RSA@mail.gmail.com --- diff --git a/src/include/port/atomics/arch-arm.h b/src/include/port/atomics/arch-arm.h index 563531c2d6..58614ae2ca 100644 --- a/src/include/port/atomics/arch-arm.h +++ b/src/include/port/atomics/arch-arm.h @@ -18,8 +18,9 @@ #endif /* - * 64 bit atomics on arm are implemented using kernel fallbacks and might be - * slow, so disable entirely for now. - * XXX: We might want to change that at some point for AARCH64 + * 64 bit atomics on ARM32 are implemented using kernel fallbacks and thus + * might be slow, so disable entirely. On ARM64 that problem doesn't exist. */ +#if !defined(__aarch64__) && !defined(__aarch64) #define PG_DISABLE_64_BIT_ATOMICS +#endif /* __aarch64__ || __aarch64 */