[all-commits] [llvm/llvm-project] 8ef571: [ThreadPool] add ability to group tasks into separ...
Luboš Luňák via All-commits
all-commits at lists.llvm.org
Tue May 3 21:19:45 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8ef5710e6303904dc9a99019bf9b1a8353397f0c
https://github.com/llvm/llvm-project/commit/8ef5710e6303904dc9a99019bf9b1a8353397f0c
Author: Luboš Luňák <l.lunak at centrum.cz>
Date: 2022-05-04 (Wed, 04 May 2022)
Changed paths:
M llvm/include/llvm/Support/ThreadPool.h
M llvm/lib/Support/ThreadPool.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/Support/ThreadPool.cpp
Log Message:
-----------
[ThreadPool] add ability to group tasks into separate groups
This is needed for parallelizing of loading modules symbols in LLDB
(D122975). Currently LLDB can parallelize indexing symbols
when loading a module, but modules are loaded sequentially. If LLDB
index cache is enabled, this means that the cache loading is not
parallelized, even though it could. However doing that creates
a threadpool-within-threadpool situation, so the number of threads
would not be properly limited.
This change adds ThreadPoolTaskGroup as a simple type that can be
used with ThreadPool calls to put tasks into groups that can be
independently waited for (even recursively from within a task)
but still run in the same thread pool.
Differential Revision: https://reviews.llvm.org/D123225
Commit: 20048f3150cf6c603c8f5a20912561048a868484
https://github.com/llvm/llvm-project/commit/20048f3150cf6c603c8f5a20912561048a868484
Author: Luboš Luňák <l.lunak at centrum.cz>
Date: 2022-05-04 (Wed, 04 May 2022)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
Log Message:
-----------
[lldb] use one shared ThreadPool and task groups
As a preparation for parallelizing loading of symbols (D122975),
it is necessary to use just one thread pool to avoid using
a thread pool from inside a task of another thread pool.
Differential Revision: https://reviews.llvm.org/D123226
Compare: https://github.com/llvm/llvm-project/compare/764676b737db...20048f3150cf
More information about the All-commits
mailing list