[PATCH] D14199: [compiler-rt] [tsan] Unify aarch64 mapping

Adhemerval Zanella via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 30 06:42:28 PDT 2015


zatrazz created this revision.
zatrazz added reviewers: aemerson, rengolin, samsonov, eugenis.
zatrazz added a subscriber: llvm-commits.
Herald added subscribers: rengolin, aemerson.

This patch unify the 39 and 42-bit VMA support for AArch64 by using indirect
calls instead of inline the address function transformation.  The already
defined maps for both VMA are used.  Although slower, this leads to same
instrumented binary to be independent of the kernel. It also has the advantage
to be easier to enable the remaining VMA for AArch64 (48-bits).

Along with this change this patch also fix some 42-bit failures with
ALSR disable by increasing the upper high app memory threshold and also
the 42-bit madvise value for non large page set.

Regarding performance, I did a run with speccpu2006 using 'test' set (mainly
to evaluate faster) and the results shows the new indirect calls are roughly
4.6% slower than the inline version:

                           TSAN     TSAN-Patched        DIFF
401.bzip2	          254.00                 267.00         5.12
403.gcc               22.90                   24.10          5.24
429.mcf               70.10                   70.80         1.00
445.gobmk        357.00                 369.00         3.36
456.hmmer       119.00                  127.00         6.72
458.sjeng            71.50                    75.90        6.15
462.libquantum     1.10                      1.15        4.55
464.h264ref       616.00                 658.00         6.82
473.astar           176.00                 186.00         5.68
483.xalancbmk      3.99                     4.26         6.77
GEOMEAN                                                        4.62

PS: 400.perlbench fails due missing longjmp family instrumentation for aarch64 and 471.omnetpp
the know issue with user defined new/delete operators.

http://reviews.llvm.org/D14199

Files:
  lib/tsan/rtl/tsan_platform.h
  lib/tsan/rtl/tsan_platform_linux.cc
  lib/tsan/rtl/tsan_platform_mac.cc
  lib/tsan/rtl/tsan_platform_windows.cc
  lib/tsan/rtl/tsan_rtl.cc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14199.38804.patch
Type: text/x-patch
Size: 13465 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151030/29ab2619/attachment.bin>


More information about the llvm-commits mailing list