aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorChiaHungDuan <chiahungduan@google.com>2024-03-27 11:30:08 -0700
committerGitHub <noreply@github.com>2024-03-27 11:30:08 -0700
commitf1ac559534788f8dd42191b60dfdf9cc56b39fd4 (patch)
tree2bb12cba2ce75dc2c15eab4d43fbf90d1b996533 /clang/lib/CodeGen/CodeGenModule.cpp
parent2598aa67c8fa733455af1b9738f257653ee6322b (diff)
downloadllvm-f1ac559534788f8dd42191b60dfdf9cc56b39fd4.zip
llvm-f1ac559534788f8dd42191b60dfdf9cc56b39fd4.tar.gz
llvm-f1ac559534788f8dd42191b60dfdf9cc56b39fd4.tar.bz2
Revert "[scudo] Use getMonotonicTimeFast for tryLock." (#86590)
This reverts commit 36ca9a29025a2f678096e9545fa2ec44e8432592. We were using the `time` as the seed while choosing a new TSD. To make the access of TSDs evenly distributed, we require a higher precision in `time`. Otherwise, many threads may result in having the same random access pattern on TSDs because they share the same `time` in certain period. On Linux, CLOCK_MONOTONIC_COARSE usually adopts 4 ms precision. This is way higher than the average accessing time of TSD (which is usually less than 1 us). As a result, when multiple threads try to select a new TSD in a 4 ms interval, they share the same `time` seed and end up choosing and congesting on the same TSD.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions