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

Stefan Johansson stefan.johansson at oracle.com
Thu May 31 08:41:20 UTC 2018



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

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