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