[PATCH] D129089: [BOLT] Fix concurrent hash table modification in the instrumentation runtime
Vladislav Khmelevsky via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 13 07:58:54 PST 2022
yota9 added a comment.
Herald added a subscriber: treapster.
For some reason after this patch I observe random deadlocks when running multiple tests. At the beginning of __bolt_instr_data_dump() I observe that one of the random GlobalIndCallCounters might become locked and when it comes to the writeIndirectCallProfile->forEachElement it becomes deadlocked. Currently I'm unable to say what is the reason of such behaviour, if patch becomes reverted everything works fine. Also it looks like since visitIndCallCounter is called by forEachElement with mutex lock the CallFlowTable->get() would never be able to lock the mutex (with TryLock) or would always stuck in a deadlock if __bolt_instr_conservative option is used.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D129089/new/
https://reviews.llvm.org/D129089
More information about the llvm-commits
mailing list