gcthreads adaptive fix with overloaded max count #7633
Merged
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.
In a rare scenario, if a user specifies max GC thread count above h/w
available thread count, adaptive threading math would incorrectly
disregard the current h/w thread count.
This fix makes adaptive threading math apply its logic on top of
taskActiveThreadCount rather than _threadCount. It is more correct since
the former not already accounts for the latter (_threadCount, what is
currently spawned count of GC threads) but also
accounts for _activeThreadCount which in turn has been adjusted to
account of the number of h/w available threads.