Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

llunak (Luboš Luňák)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 17 2017, 4:06 AM (312 w, 4 h)

Recent Activity

Jun 27 2022

llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

Ping.

Jun 27 2022, 1:08 AM · Restricted Project, Restricted Project, Restricted Project

Jun 15 2022

llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

^ I think it's still worthwhile/necessary to separate LLDB's use case/hashing algorithm choice from LLVM's so LLVM's code can be changed to be more change resilient in a way that LLDB's cannot (eg: random seeds will never be usable by LLDB but may be for LLVM).

Jun 15 2022, 1:49 PM · Restricted Project, Restricted Project, Restricted Project
llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

Ping.

Jun 15 2022, 12:12 AM · Restricted Project, Restricted Project, Restricted Project

Jun 14 2022

llunak committed rG4d27c154a5c6: remove a duplicated include (authored by llunak).
remove a duplicated include
Jun 14 2022, 9:56 AM · Restricted Project, Restricted Project

Jun 8 2022

llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

Then I still don't know what the problem is supposed to be. If the StringMap hash implementation ever changes, the necessary LLDB rebuild will detect this, the relevant LLDB parts will get adjusted and problem solved.

What I mean is if the cache is used across statically linked versions - eg: cache is created, someone installs an update to lldb, then the cache is read back and misinterprets the hashes in the cache if the hash algorithm had changed between versions.

Jun 8 2022, 10:53 AM · Restricted Project, Restricted Project, Restricted Project
llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

Ping.

Jun 8 2022, 5:27 AM · Restricted Project, Restricted Project, Restricted Project
llunak abandoned D125184: [libc++] fix std::to_string() crashing in debug mode.
Jun 8 2022, 5:27 AM · Restricted Project, Restricted Project

May 26 2022

llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

D124704 adds a unittest that compares StringMap::hash() to a known hardcoded value, so whenever the hash implementation changes, it won't be possible to unittest LLDB with that change, and that will be the time to change the lldb cache version.

Ah, good stuff - doesn't guarantee that any hash change necessarily breaks the test, but certainly helps/seems like a good idea, thanks!

May 26 2022, 12:14 AM · Restricted Project, Restricted Project, Restricted Project

May 24 2022

llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

It doesn't make sense to require a stable hash algorithm for an internal cache file.

It's at least a stronger stability requirement than may be provided before - like: stable across process boundaries, at least, by the sounds of it? yeah?

May 24 2022, 11:45 PM · Restricted Project, Restricted Project, Restricted Project
llunak added a comment to D125184: [libc++] fix std::to_string() crashing in debug mode.

The new debug mode won't break the ABI of the current debug mode AFAIK. I don't know if we would actually keep these functions in the dylib, but I fear that will be the case if we add them silently now.

May 24 2022, 10:39 PM · Restricted Project, Restricted Project
llunak updated the diff for D124704: [lldb] save ConstString hash value to cache files too.

Added a unittest that explicitly checks the implementation of the hash value has not changed (+ comments on what to do if that ever happens).

May 24 2022, 12:44 AM · Restricted Project, Restricted Project

May 23 2022

llunak updated the diff for D122974: prevent ConstString from calling djbHash() more than once.

Added documentation for StringMap::hash(), including an explicit comment saying that the implementation is not guaranteed to be stable.

May 23 2022, 11:19 PM · Restricted Project, Restricted Project, Restricted Project
llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

If we want a structure that can use a stable hash

May 23 2022, 11:06 PM · Restricted Project, Restricted Project, Restricted Project

May 22 2022

llunak updated the diff for D124704: [lldb] save ConstString hash value to cache files too.
  • use DataExtractor in StringTableReader
  • rely on StringMap assert to check that hash algorithm has not changed
May 22 2022, 12:40 AM · Restricted Project, Restricted Project
llunak added inline comments to D124704: [lldb] save ConstString hash value to cache files too.
May 22 2022, 12:37 AM · Restricted Project, Restricted Project
llunak updated the diff for D122974: prevent ConstString from calling djbHash() more than once.
  • add a function for selecting a pool in ConstString
  • use uint32_t for hash in StringMap API
May 22 2022, 12:36 AM · Restricted Project, Restricted Project, Restricted Project

May 21 2022

llunak committed rG8ba142143292: [lldb] fix 'command container' help text (authored by llunak).
[lldb] fix 'command container' help text
May 21 2022, 3:28 AM · Restricted Project

May 16 2022

llunak added a comment to D125184: [libc++] fix std::to_string() crashing in debug mode.

My main problem with this approach is that we add symbols to the dylib which we know will be obsolete in a few months, but we have to keep them forever due to ABI concerns.

May 16 2022, 12:21 PM · Restricted Project, Restricted Project

May 15 2022

llunak updated the diff for D125184: [libc++] fix std::to_string() crashing in debug mode.
May 15 2022, 9:07 AM · Restricted Project, Restricted Project
llunak added a comment to D125184: [libc++] fix std::to_string() crashing in debug mode.

I agree this is worth fixing, but I'm not convinced that this solution is safe and doesn't lead to ODR violations when different translation units are compiled with different values of _LIBCPP_DEBUG_LEVEL.

May 15 2022, 9:06 AM · Restricted Project, Restricted Project
llunak updated the diff for D125184: [libc++] fix std::to_string() crashing in debug mode.

Added to the abi check list, I hope I got it right.

May 15 2022, 1:42 AM · Restricted Project, Restricted Project

May 14 2022

llunak updated the diff for D125184: [libc++] fix std::to_string() crashing in debug mode.

I'd like to give this another try after all. AFAICT using an inline namespace solves the problem of ABI for non-debug mode, as this way it is not affected at all, while the debug mode std::to_string() is now properly a separate function.

May 14 2022, 10:20 PM · Restricted Project, Restricted Project

May 8 2022

llunak abandoned D125184: [libc++] fix std::to_string() crashing in debug mode.

This is getting too hackish, so I'm abandoning this.

May 8 2022, 5:45 AM · Restricted Project, Restricted Project
llunak updated the diff for D125184: [libc++] fix std::to_string() crashing in debug mode.

I see. Until that some time, how about at least this one then? It's admitedly ugly, but still less ugly then crashing later after the function has been called.

May 8 2022, 4:28 AM · Restricted Project, Restricted Project
llunak requested review of D125184: [libc++] fix std::to_string() crashing in debug mode.
May 8 2022, 1:51 AM · Restricted Project, Restricted Project

May 4 2022

llunak updated the diff for D122974: prevent ConstString from calling djbHash() more than once.
May 4 2022, 9:10 PM · Restricted Project, Restricted Project, Restricted Project
llunak updated the diff for D122974: prevent ConstString from calling djbHash() more than once.

Used a temporary variable instead of repeated 'm_string_pools[h]'.
Added assert that the passed-in hash value matches, guarded by EXPENSIVE_CHECKS. It will assert also hashes computed by StringMap itself, but checking only values passed from outside would mean adding a number of *Impl functions and adding asserts in a number of places.

May 4 2022, 9:03 PM · Restricted Project, Restricted Project, Restricted Project
llunak added inline comments to D124704: [lldb] save ConstString hash value to cache files too.
May 4 2022, 12:41 PM · Restricted Project, Restricted Project
llunak updated the diff for D124704: [lldb] save ConstString hash value to cache files too.

Hashes are saved directly in string table.
Changed filenames of cache files to be different from version 1.
No support for reading old format.

May 4 2022, 12:37 PM · Restricted Project, Restricted Project
llunak committed rGb7d807dbcff0: [lldb] parallelize calling of Module::PreloadSymbols() (authored by llunak).
[lldb] parallelize calling of Module::PreloadSymbols()
May 4 2022, 11:00 AM · Restricted Project
llunak closed D122975: parallelize calling of Module::PreloadSymbols().
May 4 2022, 11:00 AM · Restricted Project, Restricted Project
llunak added inline comments to D124902: Enable the use of ThreadPoolTaskGroup in MLIR threading helper to enable nested parallelism.
May 4 2022, 9:00 AM · Restricted Project, Restricted Project
llunak added inline comments to D124902: Enable the use of ThreadPoolTaskGroup in MLIR threading helper to enable nested parallelism.
May 4 2022, 4:42 AM · Restricted Project, Restricted Project
llunak added a comment to D124704: [lldb] save ConstString hash value to cache files too.

A few things we might think of for this patch to improve it a bit: we use a StringTableReader and ConstStringTable to read and write a string table to disk, we could save the hashes before each string in the string table data itself. Then we don't need to change the format of any other sections (the symbol table or the manual DWARF index as we would always write out string table offsets just like before, but the offsets would be different since we would always write the hash + string into the string table data. It is ok for the string table data to contain the hashes for all strings since we store only ConstString values and we always need the hashes. This might save on some space since we would only have 1 hash per string instead of possible many hashes for the same string offset in the string table.

May 4 2022, 1:24 AM · Restricted Project, Restricted Project

May 3 2022

llunak added inline comments to D124902: Enable the use of ThreadPoolTaskGroup in MLIR threading helper to enable nested parallelism.
May 3 2022, 11:20 PM · Restricted Project, Restricted Project
llunak committed rG9c34a16c7c52: [ThreadPool] delete debug global variable if not needed (authored by llunak).
[ThreadPool] delete debug global variable if not needed
May 3 2022, 11:13 PM · Restricted Project, Restricted Project
llunak added a comment to D122975: parallelize calling of Module::PreloadSymbols().

The prerequisities fo this change have been pushed, so this one is ready.

May 3 2022, 9:50 PM · Restricted Project, Restricted Project
llunak updated the summary of D122975: parallelize calling of Module::PreloadSymbols().
May 3 2022, 9:48 PM · Restricted Project, Restricted Project
llunak committed rG20048f3150cf: [lldb] use one shared ThreadPool and task groups (authored by llunak).
[lldb] use one shared ThreadPool and task groups
May 3 2022, 9:20 PM · Restricted Project
llunak committed rG8ef5710e6303: [ThreadPool] add ability to group tasks into separate groups (authored by llunak).
[ThreadPool] add ability to group tasks into separate groups
May 3 2022, 9:20 PM · Restricted Project, Restricted Project
llunak closed D123226: [lldb] use one shared ThreadPool and task groups.
May 3 2022, 9:19 PM · Restricted Project, Restricted Project
llunak closed D123225: [ThreadPool] add ability to group tasks into separate groups.
May 3 2022, 9:19 PM · Restricted Project, Restricted Project
llunak added a comment to D123225: [ThreadPool] add ability to group tasks into separate groups.

The "Build Status" here lists a failure, but I cannot reproduce any test failure locally, and in the remote log I do not see any test failure, it looks like the testsuite itself failing. Is that something I should ignore, or am I missing something?

May 3 2022, 3:55 AM · Restricted Project, Restricted Project

May 1 2022

llunak added a comment to D124704: [lldb] save ConstString hash value to cache files too.

This makes TestDecodeCStringMaps fail. Is there an easy way for me to re-generate the data for the test?

May 1 2022, 3:37 AM · Restricted Project, Restricted Project

Apr 30 2022

llunak updated the diff for D123226: [lldb] use one shared ThreadPool and task groups.

Changed to use std::call_once().

Apr 30 2022, 11:39 PM · Restricted Project, Restricted Project
llunak added inline comments to D123226: [lldb] use one shared ThreadPool and task groups.
Apr 30 2022, 11:38 PM · Restricted Project, Restricted Project
llunak updated the diff for D123225: [ThreadPool] add ability to group tasks into separate groups.

Updated according to review comments.

Apr 30 2022, 11:16 PM · Restricted Project, Restricted Project
llunak added inline comments to D123225: [ThreadPool] add ability to group tasks into separate groups.
Apr 30 2022, 11:15 PM · Restricted Project, Restricted Project
llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

I can measure 10% startup time saved when everything is already cached. Funnily enough, profiler consistently claims that saving caches got faster too (I already use D122975).

Apr 30 2022, 2:56 AM · Restricted Project, Restricted Project, Restricted Project
llunak updated the diff for D124704: [lldb] save ConstString hash value to cache files too.

Added missing hash write to EncodeCStrMap().

Apr 30 2022, 1:12 AM · Restricted Project, Restricted Project

Apr 29 2022

llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

If the string pool caches the hash value, we could actually write out the hash in the cache file to speed up loading.

Apr 29 2022, 3:57 PM · Restricted Project, Restricted Project, Restricted Project
llunak requested review of D124704: [lldb] save ConstString hash value to cache files too.
Apr 29 2022, 3:42 PM · Restricted Project, Restricted Project
llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

Interesting. I don't know if I missed this somewhere, but could explain what kind of a map operation can lldb perform without computing the hash at least once?

Apr 29 2022, 8:41 AM · Restricted Project, Restricted Project, Restricted Project
llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

But what if I don't want StringMap to compute the hash at all? There's still that 10-15% of CPU time spent in djbHash() when debug info uses exactly[*] that (and LLDB's index cache could be modified to store it). Which means it can be useful for StringMap to allow accepting precomputed hash, and then what purpose will that HashedStringRef have?

I think that David's point was that you would use a (probably static) StringMap method to produce the hash object, and then you use the hash object to select the correct map, and also to insert the key in the map. Something like:

...

That should only produce one hash computation, right?

Apr 29 2022, 7:26 AM · Restricted Project, Restricted Project, Restricted Project

Apr 28 2022

llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

...

struct HashedStringRef {
  const llvm::StringRef str;
  const unsigned full_hash;
  const uint8_t hash; 
  HashedStringRef(llvm::StringRef s) : str(s), full_hash(djbHash(str)), hash(hash(str)) {}
}

...

The external code shouldn't be able to create their own (ctor private/protected, etc) - the only way to get one is to call StringMap to produce one.

Apr 28 2022, 3:32 PM · Restricted Project, Restricted Project, Restricted Project

Apr 20 2022

llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

Ping.

Apr 20 2022, 2:56 AM · Restricted Project, Restricted Project, Restricted Project

Apr 18 2022

llunak updated the diff for D123225: [ThreadPool] add ability to group tasks into separate groups.

Added asserts that wait() will not deadlock waiting for itself.
Added more documentation about deadlocks and usage from within threadpool's threads.

Apr 18 2022, 10:32 AM · Restricted Project, Restricted Project
llunak added inline comments to D123225: [ThreadPool] add ability to group tasks into separate groups.
Apr 18 2022, 10:29 AM · Restricted Project, Restricted Project

Apr 16 2022

llunak updated the diff for D122975: parallelize calling of Module::PreloadSymbols().

Adapted to API changes from D123225.

Apr 16 2022, 10:57 AM · Restricted Project, Restricted Project
llunak updated the diff for D123226: [lldb] use one shared ThreadPool and task groups.

ThreadPool object is now created/destroyed by Debugger class ctor/dtor.
Adapted to API changes from D123225.

Apr 16 2022, 10:55 AM · Restricted Project, Restricted Project
llunak added inline comments to D123226: [lldb] use one shared ThreadPool and task groups.
Apr 16 2022, 10:50 AM · Restricted Project, Restricted Project
llunak updated the diff for D123225: [ThreadPool] add ability to group tasks into separate groups.

Small tweaks based on feedback.
Changed ThreadPool::TaskGroup to standalone ThreadPoolTaskGroup that has trivial calls forwarding to ThreadPool functions.

Apr 16 2022, 10:47 AM · Restricted Project, Restricted Project
llunak added inline comments to D123225: [ThreadPool] add ability to group tasks into separate groups.
Apr 16 2022, 10:46 AM · Restricted Project, Restricted Project

Apr 12 2022

llunak added a comment to D123390: [demangler][NFC] OperatorInfo table unit test.

The change looks good to me too, if that counts as anything from an outsider. But as an outsider I think you LLVM folks tend to overdo the perfectionism while reviewing. There's rather obviously nothing visibly wrong with the change, the chance it'll break something is extremely low, you apparently know this code, and you pushing this should be fine even according to the policy (the "likely-community-consensus" part) rather than blocking on somebody who apparently has a long enough review queue and could be instead reviewing changes that actually need it (*cough* D122974 *cough*).

Apr 12 2022, 12:50 AM · Restricted Project, Restricted Project, Restricted Project
llunak added a comment to D122974: prevent ConstString from calling djbHash() more than once.

Ping @dblaikie ?

Apr 12 2022, 12:45 AM · Restricted Project, Restricted Project, Restricted Project

Apr 11 2022

llunak committed rG195a8b977efe: don't extra notify ModulesDidLoad() from LoadModuleAtAddress() (authored by llunak).
don't extra notify ModulesDidLoad() from LoadModuleAtAddress()
Apr 11 2022, 3:38 PM · Restricted Project
llunak closed D123128: don't extra notify ModulesDidLoad() from LoadModuleAtAddress().
Apr 11 2022, 3:38 PM · Restricted Project, Restricted Project
llunak added a comment to D123020: increase timeouts if running on valgrind.

FWIW the official policy is outlined here: https://llvm.org/docs/CodeReview.html

I'm aware of it, but as far as I can judge I was following it. Even reading it now again I see nothing that I would understand as mandating review for everything.

It does say "patches that meet likely-community-consensus requirements can be committed prior to an explicit review" and "where there is any uncertainty, a patch should be reviewed prior to being committed".
It can be hard to judge what is a likely-community-consensus without being an active member of the community, which is why it's safer to go down the pre-commit review path.

Also note that when I said that "all patches are expected to be reviewed", that included both pre-commit and post-commit review. I deliberately used passive voice because in the latter case, there's nothing for you (as the patch author) to do. It's generally up to the owners of individual components to ensure that all patches going in get reviewed by someone. Since there's no paper trail, this is very hard to verify, but I can tell you that people do that, and that it's not a good way to introduce yourself to someone.

Apr 11 2022, 7:09 AM · Restricted Project, Restricted Project

Apr 10 2022

llunak removed a reviewer for D123390: [demangler][NFC] OperatorInfo table unit test: llunak.
Apr 10 2022, 4:58 AM · Restricted Project, Restricted Project, Restricted Project
llunak updated the diff for D123128: don't extra notify ModulesDidLoad() from LoadModuleAtAddress().

Changed to always disable notify and added a comment about that to LoadModuleAtAddress().

Apr 10 2022, 4:56 AM · Restricted Project, Restricted Project

Apr 8 2022

llunak abandoned D123158: make a debug check thread-safe.
Apr 8 2022, 10:40 AM · Restricted Project, Restricted Project
llunak added a comment to D123158: make a debug check thread-safe.

understood. Mind if I grab the PR? (Is there an actual PR to grab?)

Apr 8 2022, 10:40 AM · Restricted Project, Restricted Project

Apr 7 2022

llunak abandoned D123020: increase timeouts if running on valgrind.

FWIW the official policy is outlined here: https://llvm.org/docs/CodeReview.html

Apr 7 2022, 1:09 PM · Restricted Project, Restricted Project
llunak committed rGc29a51b3a257: [lldb][gui] remove the "expand" diamond for variables where expanding fails (authored by llunak).
[lldb][gui] remove the "expand" diamond for variables where expanding fails
Apr 7 2022, 1:00 PM · Restricted Project
llunak committed rGf42f21746cb8: [lldb][gui] handle Ctrl+C to stop a running process (authored by llunak).
[lldb][gui] handle Ctrl+C to stop a running process
Apr 7 2022, 1:00 PM · Restricted Project
llunak closed D123008: remove the "expand" diamond for variables where expanding fails.
Apr 7 2022, 1:00 PM · Restricted Project, Restricted Project
llunak closed D123015: handle Ctrl+C to stop a running process.
Apr 7 2022, 1:00 PM · Restricted Project, Restricted Project
llunak added a comment to D123158: make a debug check thread-safe.

ETA:but it doesn't matter whether this check runs multiple times, in racing threads? I guess one wants an atomic set though.

Apr 7 2022, 12:54 PM · Restricted Project, Restricted Project
llunak added a comment to D123225: [ThreadPool] add ability to group tasks into separate groups.

Let's first deal with the conceptual stuff, no point in dealing with the small code things as long as there's not agreement that this is the way to implement it.

Apr 7 2022, 9:13 AM · Restricted Project, Restricted Project

Apr 6 2022

llunak updated the diff for D123225: [ThreadPool] add ability to group tasks into separate groups.
Apr 6 2022, 8:35 AM · Restricted Project, Restricted Project
llunak updated the diff for D122975: parallelize calling of Module::PreloadSymbols().

Rebased on ThreadPool groups (D123225) and adding such thread pool to LLDB (D123226).

Apr 6 2022, 8:34 AM · Restricted Project, Restricted Project
llunak requested review of D123226: [lldb] use one shared ThreadPool and task groups.
Apr 6 2022, 8:32 AM · Restricted Project, Restricted Project
llunak requested review of D123225: [ThreadPool] add ability to group tasks into separate groups.
Apr 6 2022, 8:29 AM · Restricted Project, Restricted Project

Apr 5 2022

llunak added a comment to D122975: parallelize calling of Module::PreloadSymbols().

After applying this patch I started seeing data races reported by TSan when running the shell tests (check-lldb-shell). It seems to happen to different tests on different runs but the backtraces are the same.

Apr 5 2022, 2:15 PM · Restricted Project, Restricted Project
llunak requested review of D123158: make a debug check thread-safe.
Apr 5 2022, 2:13 PM · Restricted Project, Restricted Project
llunak updated the diff for D122975: parallelize calling of Module::PreloadSymbols().

Ok, parallelizing of only Module::PreloadSymbols() was simpler than I expected and it also works, so I've reworked the patch to do that.

Apr 5 2022, 7:00 AM · Restricted Project, Restricted Project
llunak requested review of D123128: don't extra notify ModulesDidLoad() from LoadModuleAtAddress().
Apr 5 2022, 6:52 AM · Restricted Project, Restricted Project
llunak added a comment to D122975: parallelize calling of Module::PreloadSymbols().

OK, got it. So, for this case, I think the best approach would be to extract and paralelize the PreloadSymbols calls. They are not deep (=> relatively easy to extract), optional (they are just a performance optimization, so nothing will break if they're skipped), and completely isolated (they only access data from the single module).

Apr 5 2022, 3:21 AM · Restricted Project, Restricted Project

Apr 4 2022

llunak committed rG76bc77292089: [lldb][gui] make 'step out' step out of the selected frame (authored by llunak).
[lldb][gui] make 'step out' step out of the selected frame
Apr 4 2022, 11:31 PM · Restricted Project
llunak committed rGf90fa55569fc: [lldb][gui] use just '#2' instead of 'frame #2' in the threads/frame view (authored by llunak).
[lldb][gui] use just '#2' instead of 'frame #2' in the threads/frame view
Apr 4 2022, 11:31 PM · Restricted Project
llunak committed rGaaca2acd5f34: [lldb][gui] do not show the help window on first gui startup (authored by llunak).
[lldb][gui] do not show the help window on first gui startup
Apr 4 2022, 11:31 PM · Restricted Project
llunak closed D123001: make 'step out' step out of the selected frame.
Apr 4 2022, 11:31 PM · Restricted Project, Restricted Project
llunak closed D122998: use just '#' instead of 'frame #2' in the threads/frame view.
Apr 4 2022, 11:30 PM · Restricted Project, Restricted Project
llunak closed D122997: do not show the help window on first gui startup.
Apr 4 2022, 11:30 PM · Restricted Project, Restricted Project
llunak updated the diff for D123001: make 'step out' step out of the selected frame.

Added a test.

Apr 4 2022, 1:38 PM · Restricted Project, Restricted Project
llunak added a comment to D122975: parallelize calling of Module::PreloadSymbols().

I had tried something similar with the thread pools when trying to parallelize similar stuff. The solution I made was to have a global thread pool for the entire LLDB process, but then the LLVM thread pool stuff needed to be modified to handle different groups of threads where work could be added to a queue and then users can wait on the queue. The queues then need to be managed by the thread pool code. Queues could also be serial queues or concurrent queues. I never completed the patch, but just wanted to pass along the ideas I had used. So instead of adding everything to a separate pool, the main thread pool could take queues. The code for your code above would look something like:

Apr 4 2022, 12:11 PM · Restricted Project, Restricted Project
llunak added a comment to D123020: increase timeouts if running on valgrind.

BTW, does it make sense to get even things like this reviewed, or is it ok if I push these directly if I'm reasonably certain I know what I'm doing? I feel like I'm spamming you by now.

Generally, I would say yes. I'm not even sure that some of your other patches should have been submitted without a pre-commit review (*all* llvm patches are expected to be reviewed).

Apr 4 2022, 10:03 AM · Restricted Project, Restricted Project
llunak committed rG9a6a0dfa06a5: [lldb] make ConstStringTable use DenseMap rather than std::map (authored by llunak).
[lldb] make ConstStringTable use DenseMap rather than std::map
Apr 4 2022, 9:47 AM · Restricted Project
llunak closed D122980: make ConstStringTable use DenseMap rather than std::map.
Apr 4 2022, 9:47 AM · Restricted Project, Restricted Project
llunak added a comment to D122975: parallelize calling of Module::PreloadSymbols().

I'd like to understand what is the precise thing that you're trying to optimise. If there is like a single hot piece of code that we want to optimise, then we might be able to come up with an different approach (a'la PrefetchModuleSpecs) to achieve the same thing.

Apr 4 2022, 9:45 AM · Restricted Project, Restricted Project