[all-commits] [llvm/llvm-project] f1ac55: Revert "[scudo] Use getMonotonicTimeFast for tryLo...
ChiaHungDuan via All-commits
all-commits at lists.llvm.org
Wed Mar 27 11:30:30 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f1ac559534788f8dd42191b60dfdf9cc56b39fd4
https://github.com/llvm/llvm-project/commit/f1ac559534788f8dd42191b60dfdf9cc56b39fd4
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-03-27 (Wed, 27 Mar 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/tsd.h
Log Message:
-----------
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.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list