[all-commits] [llvm/llvm-project] 66d4ce: tsan: new runtime (v3)

Dmitry Vyukov via All-commits all-commits at lists.llvm.org
Thu Nov 25 09:32:18 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 66d4ce7e26a5ab00f7e4946b6e1bac8f805010fa
      https://github.com/llvm/llvm-project/commit/66d4ce7e26a5ab00f7e4946b6e1bac8f805010fa
  Author: Dmitry Vyukov <dvyukov at google.com>
  Date:   2021-11-25 (Thu, 25 Nov 2021)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
    M compiler-rt/lib/tsan/CMakeLists.txt
    M compiler-rt/lib/tsan/check_analyze.sh
    M compiler-rt/lib/tsan/go/build.bat
    M compiler-rt/lib/tsan/go/buildgo.sh
    M compiler-rt/lib/tsan/go/tsan_go.cpp
    M compiler-rt/lib/tsan/rtl/tsan_defs.h
    M compiler-rt/lib/tsan/rtl/tsan_dense_alloc.h
    M compiler-rt/lib/tsan/rtl/tsan_flags.cpp
    M compiler-rt/lib/tsan/rtl/tsan_flags.inc
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interface_atomic.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
    M compiler-rt/lib/tsan/rtl/tsan_mman.cpp
    M compiler-rt/lib/tsan/rtl/tsan_mman.h
    M compiler-rt/lib/tsan/rtl/tsan_mutexset.cpp
    M compiler-rt/lib/tsan/rtl/tsan_mutexset.h
    M compiler-rt/lib/tsan/rtl/tsan_platform.h
    M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
    M compiler-rt/lib/tsan/rtl/tsan_platform_mac.cpp
    M compiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_platform_windows.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.h
    M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_proc.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
    M compiler-rt/lib/tsan/rtl/tsan_shadow.h
    M compiler-rt/lib/tsan/rtl/tsan_sync.cpp
    M compiler-rt/lib/tsan/rtl/tsan_sync.h
    M compiler-rt/lib/tsan/rtl/tsan_trace.h
    R compiler-rt/lib/tsan/rtl/tsan_update_shadow_word.inc
    M compiler-rt/lib/tsan/tests/unit/tsan_flags_test.cpp
    M compiler-rt/lib/tsan/tests/unit/tsan_shadow_test.cpp
    M compiler-rt/lib/tsan/tests/unit/tsan_stack_test.cpp
    M compiler-rt/lib/tsan/tests/unit/tsan_sync_test.cpp
    M compiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
    M compiler-rt/test/tsan/bench_threads.cpp
    M compiler-rt/test/tsan/free_race2.c
    M compiler-rt/test/tsan/memcmp_race.cpp
    M compiler-rt/test/tsan/memcpy_race.cpp
    M compiler-rt/test/tsan/mutexset7.cpp

  Log Message:
  -----------
  tsan: new runtime (v3)

This change switches tsan to the new runtime which features:
 - 2x smaller shadow memory (2x of app memory)
 - faster fully vectorized race detection
 - small fixed-size vector clocks (512b)
 - fast vectorized vector clock operations
 - unlimited number of alive threads/goroutimes

Depends on D112602.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D112603




More information about the All-commits mailing list