[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

Reply via email to