aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/VirtualFileSystem.cpp
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2021-11-12 19:28:39 +0100
committerDmitry Vyukov <dvyukov@google.com>2021-11-13 09:12:55 +0100
commitb5ff187b7b51dd76f881e10c1c2b4033e672fb12 (patch)
treee9d93b2acc471bb47aa679c0fd8e134d0e6ce177 /llvm/lib/Support/VirtualFileSystem.cpp
parentdd87c5b322684b072e9df3058b84d09a702a1ea4 (diff)
downloadllvm-b5ff187b7b51dd76f881e10c1c2b4033e672fb12.zip
llvm-b5ff187b7b51dd76f881e10c1c2b4033e672fb12.tar.gz
llvm-b5ff187b7b51dd76f881e10c1c2b4033e672fb12.tar.bz2
tsan: mmap shadow stack
We used to mmap C++ shadow stack as part of the trace region before ed7f3f5bc9 ("tsan: move shadow stack into ThreadState"), which moved the shadow stack into TLS. This started causing timeouts and OOMs on some of our internal tests that repeatedly create and destroy thousands of threads. Allocate C++ shadow stack with mmap and small pages again. This prevents the observed timeouts and OOMs. But we now need to be more careful with interceptors that run after thread finalization because FuncEntry/Exit and TraceAddEvent all need the shadow stack. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D113786
Diffstat (limited to 'llvm/lib/Support/VirtualFileSystem.cpp')
0 files changed, 0 insertions, 0 deletions