[email protected] has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/19840


Change subject: aarch64: use __atomic builtins instead of inline assembly
......................................................................

aarch64: use __atomic builtins instead of inline assembly

The current code contains atomic instructions (exclusive loads and stores)
encoded in inline assembly.

ARMv8.1-a introduced LSE (Large Scale Extensions) that replace the exclusive
loads and stores with optimized atomic instructions.  We have seen up to 6x
faster database operations when using LSE.

We replace the inline assembly statements with calls to __atomic builtins.
The compiler is then able to select the best instructions following the hardware
capabilities or based on the compiler flags.

Change-Id: I1ee85e0ac438de42f16578801a35e6874f1a58bf
---
M be/src/gutil/atomicops-internals-arm64.h
1 file changed, 55 insertions(+), 280 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/40/19840/1
--
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: newchange
Gerrit-Change-Id: I1ee85e0ac438de42f16578801a35e6874f1a58bf
Gerrit-Change-Number: 19840
Gerrit-PatchSet: 1
Gerrit-Owner: Anonymous Coward <[email protected]>

Reply via email to