Skip to content

Make reading from Pool more thread-safe#472

Open
dmach wants to merge 1 commit intoopenSUSE:masterfrom
dmach:pool-thread-safety
Open

Make reading from Pool more thread-safe#472
dmach wants to merge 1 commit intoopenSUSE:masterfrom
dmach:pool-thread-safety

Conversation

@dmach
Copy link
Copy Markdown

@dmach dmach commented Aug 17, 2021

Doesn't fix the problem completely, but mitigates it
so the pool can be accessed from tens of concurrent threads.

I tested pool_tmpjoin() and the performance is 40% worse (locking has a cost).
We need to test it in real-life scenarios, the overall impact should not be that bad.

  • Running libdnf's performance test on filtering latest evr per na shows 5% performance hit, which is quite reasonable

Tries to fix #471

Doesn't fix the problem completely, but mitigates it
so the pool can be accessed from tens of concurrent threads.
@j-mracek
Copy link
Copy Markdown
Contributor

It looks like that the patch will not help much. First of all it does not solve the issue but it makes it less frequent. According to #471 (comment) there are other problems in libsolv related to multi-thread safety.

@wolfv wolfv mentioned this pull request Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reading from Pool is not thread-safe when pool_alloctmpspace() is used

3 participants