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

Kim Barrett kim.barrett at oracle.com
Thu May 31 19:34:09 UTC 2018

> On May 31, 2018, at 4:41 AM, Stefan Johansson <stefan.johansson at oracle.com> wrote:
> On 2018-05-30 19:33, Kim Barrett wrote:
>> Please review this change to the ReferenceProcessor's test for whether
>> to balance a set of queues before processing them with multiple
>> threads.  The change to that test made by JDK-8201487 doesn't peform
>> balancing for some (potential, see Testing below) states where not
>> doing so will result in some discovered References not being
>> processed.  In particular, there are cases where we must ignore
>> -XX:-ParallelRefProcBalancingEnabled and balance anyway.
>> We also now avoid balancing in some cases where we know the set is
>> already balanced, even with -XX:+ParallelRefProcBalancingEnabled.
>> CR:
>> https://bugs.openjdk.java.net/browse/JDK-8203319
>> Webrev:
>> http://cr.openjdk.java.net/~kbarrett/8203319/open.00/
> Looks good,
> Stefan

Thanks, Stefan.

>> Testing:
>> Mach5 tier{1,2,3}, hs-tier{4,5}
>> 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.  However, that will
>> change with JDK-8043575, where a reduced number of processing threads
>> may be selected.

More information about the hotspot-gc-dev mailing list