]> granicus.if.org Git - postgresql/commitdiff
Enable 64 bit atomics on ARM64.
authorAndres Freund <andres@anarazel.de>
Fri, 10 Mar 2017 19:14:06 +0000 (11:14 -0800)
committerAndres Freund <andres@anarazel.de>
Fri, 10 Mar 2017 19:19:54 +0000 (11:19 -0800)
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

src/include/port/atomics/arch-arm.h

index 563531c2d63ab611c9103ab311ff1c92b77daafa..58614ae2cac5d9e130a86cfdafdde19fb79e5634 100644 (file)
@@ -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 */