Limit thread usage in tests #5516
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If your work is part of a larger effort, please discuss your general plans on Discourse first to align your vision with maintainers.
This is following up on discussion where we agreed to pursue making RTLIL safe for multithreaded read-only access.
What are the reasons/motivation for this change?
Yosys tests already run tests in parallel, potentially up to the point where the number of running tests equals the number of CPUs if the user uses
make -j test. If each test spawns a number of threads equal to the number of CPUs, the total number of threads could be quadratic in the number of CPUs, which could be bad.Instead limit each test to 4 threads.
This change also makes it easy to do scalability performance tests without using thread affinity tricks like
taskset.