Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make reading from Pool more thread-safe #472

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dmach
Copy link

@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
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