RFR: 8203319: JDK-8201487 disabled too much queue balancing

Kim Barrett kim.barrett at oracle.com
Wed May 30 23:57:30 UTC 2018

> On May 30, 2018, at 1:49 PM, Thomas Schatzl <thomas.schatzl at oracle.com> wrote:
> On Wed, 2018-05-30 at 13:33 -0400, Kim Barrett wrote:
>> I tried to write a test directed at the problematic cases, but
>> couldn't find a way to produce a setup with
>>  1 < # of processing threads < # of discovery theads
>> In particular, a configuration with ParallelGCThreads < ConcGCThreads
>> is disallowed by option checking, so the VM won't even start with
>> such a configuration.  So it seems the problematic cases described in
>> the bug report can't currently arise in practice.  
> Due to UseDynamicNumberOfGCThreads the number of active threads for the
> work queue may be < ConcGCThreads. Just run on a small heap (iirc it
> selects 1 thread per 32MB of heap) on a large machine.

I was able to produce some pretty stupid configurations, using -XX:+ForceDynamicNumberOfGCThreads.
But I wasn’t able to get the number of marking (discovery) threads to be lower than the
number of reference processing threads.  If the heap is small the number of marking
threads will be kept small too.

>> However, that will change with JDK-8043575, where a reduced number of
>> processing threads may be selected.
> That change will make it more likely, yes.
> Looks good. Thanks for fixing this.
> Thomas

Thanks for reviewing.

More information about the hotspot-gc-dev mailing list