Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
ea624e69 |
| 01-Apr-2022 |
Dmitry Vyukov <dvyukov@google.com> |
sanitizer_common: add Mutex::TryLock
Will be used in future changes.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D122905
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1 |
|
#
960cb490 |
| 28-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
sanitizer_common: replace RWMutex/BlockingMutex with Mutex
Mutex supports reader access, OS blocking, spinning, portable and smaller than BlockingMutex. Overall it's supposed to be better than RWMut
sanitizer_common: replace RWMutex/BlockingMutex with Mutex
Mutex supports reader access, OS blocking, spinning, portable and smaller than BlockingMutex. Overall it's supposed to be better than RWMutex/BlockingMutex. Replace RWMutex/BlockingMutex with Mutex.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D106936
show more ...
|
Revision tags: llvmorg-14-init |
|
#
0118a649 |
| 20-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: switch to the new sanitizer_common mutex
Now that sanitizer_common mutex has feature-parity with tsan mutex, switch tsan to the sanitizer_common mutex and remove tsan's custom mutex.
Reviewed
tsan: switch to the new sanitizer_common mutex
Now that sanitizer_common mutex has feature-parity with tsan mutex, switch tsan to the sanitizer_common mutex and remove tsan's custom mutex.
Reviewed By: vitalybuka, melver
Differential Revision: https://reviews.llvm.org/D106379
show more ...
|
#
3f981fc1 |
| 18-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
sanitizer_common: add new mutex
We currently have 3 different mutexes: - RWMutex - BlockingMutex - __tsan::Mutex
RWMutex and __tsan::Mutex are roughly the same, except that tsan version supports
sanitizer_common: add new mutex
We currently have 3 different mutexes: - RWMutex - BlockingMutex - __tsan::Mutex
RWMutex and __tsan::Mutex are roughly the same, except that tsan version supports deadlock detection. BlockingMutex degrades better under heavy contention from lots of threads (blocks in OS), but much slower for light contention and has non-portable performance and has larger static size and is not reader-writer.
Add a new mutex that combines all advantages of these mutexes: it's reader-writer, has fast non-contended path, supports blocking to gracefully degrade under higher contention, has portable size/performance.
For now it's named Mutex2 for incremental submission. The plan is to: - land this change - then move deadlock detection logic from tsan - then rename it to Mutex and remove tsan Mutex - then typedef RWMutex/BlockingMutex to this mutex
SpinMutex stays as separate type because it has faster fast path: 1 atomic RMW per lock/unlock as compared to 2 for this mutex.
Reviewed By: vitalybuka, melver
Differential Revision: https://reviews.llvm.org/D106231
show more ...
|
#
c14f2684 |
| 16-Jul-2021 |
Vitaly Buka <vitalybuka@google.com> |
[sanitizer] Fix test build on Windows
|
#
6a4054ef |
| 15-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
sanitizer_common: add Semaphore
Semaphore is a portable way to park/unpark threads. The plan is to use it to implement a portable blocking mutex in subsequent changes. Semaphore can also be used to
sanitizer_common: add Semaphore
Semaphore is a portable way to park/unpark threads. The plan is to use it to implement a portable blocking mutex in subsequent changes. Semaphore can also be used to efficiently wait for other things (e.g. we currently spin to synchronize thread creation and start).
Reviewed By: vitalybuka, melver
Differential Revision: https://reviews.llvm.org/D106071
show more ...
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2 |
|
#
d6d569fc |
| 31-Jul-2019 |
Nico Weber <nicolasweber@gmx.de> |
compiler-rt: Rename .cc file in lib/sanitizer_common/tests to .cpp
See https://reviews.llvm.org/D58620 for discussion, and for the commands I ran. In addition I also ran
for f in $(svn diff | dif
compiler-rt: Rename .cc file in lib/sanitizer_common/tests to .cpp
See https://reviews.llvm.org/D58620 for discussion, and for the commands I ran. In addition I also ran
for f in $(svn diff | diffstat | grep .cc | cut -f 2 -d ' '); do rg $(basename $f) . ; done
and manually updated references to renamed files found by that.
llvm-svn: 367467
show more ...
|