[email protected] has posted comments on this change. ( http://gerrit.cloudera.org:8080/19840 )
Change subject: aarch64: use __atomic builtins instead of inline assembly ...................................................................... Patch Set 1: > This was originally added in > https://issues.apache.org/jira/browse/IMPALA-9428. > I'm not sure what ARM revision they were aiming to support, The inline asm code is written with ARMv8.0 instructions and all arm64 cpus support those instructions. However those atomic instructions are very slow compared to ARMv8.1 LSE atomic instructions. The LSE instructions fuse together the loads/stores with the atomic operation that needs to be performed, for example add, compare, etc. and thus the atomic operation can be optimized at the hardware level. As I mentioned in the commit message the use of LSE in databases is crucial for good speed on arm64 cloud machines (Graviton2 is ARMv8.2 and Graviton3 is ARMv8.4). We have seen up to 6x speedup when we started using the LSE instructions in mysql and postgres. -- To view, visit http://gerrit.cloudera.org:8080/19840 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I1ee85e0ac438de42f16578801a35e6874f1a58bf Gerrit-Change-Number: 19840 Gerrit-PatchSet: 1 Gerrit-Owner: Anonymous Coward <[email protected]> Gerrit-Reviewer: Anonymous Coward <[email protected]> Gerrit-Reviewer: Anonymous Coward <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Comment-Date: Thu, 04 May 2023 20:20:07 +0000 Gerrit-HasComments: No
