summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
diff options
context:
space:
mode:
authorKostya Kortchinsky <kostyak@google.com>2019-06-25 19:58:11 +0000
committerKostya Kortchinsky <kostyak@google.com>2019-06-25 19:58:11 +0000
commit3ad32a037efc5e141be1a9234859b649c7484886 (patch)
tree0a32da255bea8da5a368b00b1c2286b040f1db12 /lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
parent510f4098ae047a09d58e3e0421e8855396b95900 (diff)
downloadbcm5719-llvm-3ad32a037efc5e141be1a9234859b649c7484886.tar.gz
bcm5719-llvm-3ad32a037efc5e141be1a9234859b649c7484886.zip
[scudo] Correct a behavior on the shared TSD registry
Summary: There is an error in the shared TSD registry logic when looking for a TSD in the slow path. There is an unlikely event when a TSD's precedence was 0 after attempting a `tryLock` which indicated that it was grabbed by another thread in between. We dealt with that case by continuing to the next iteration, but that meant that the `Index` was not increased and we ended up trying to lock the same TSD. This would manifest in heavy contention, and in the end we would still lock a TSD, but that was a wasted iteration. So, do not `continue`, just skip the TSD as a potential candidate. This is in both the standalone & non-standalone versions. Reviewers: morehouse, eugenis, vitalybuka, hctim Reviewed By: morehouse Subscribers: delcypher, #sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential Revision: https://reviews.llvm.org/D63783 llvm-svn: 364345
Diffstat (limited to 'lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud