Request for Review - 8152208: Summary for phase times are incorrect with and without UseDynamicNumberOfGCThreads

Bengt Rutisson bengt.rutisson at oracle.com
Mon Mar 21 09:13:52 UTC 2016


Hi Jon,

On 2016-03-21 03:43, Jon Masamitsu wrote:
> The averages reported for phase times (for example "Ext Root 
> Scanning") were
> incorrect.  Not all the per thread values were included in the sum and 
> the
> average value was incorrect (this with build 9-ea+1100)
>
> [0.366s][debug][gc,phases            ] GC(2)     Ext Root Scanning 
> (ms):   Min:  0.3, Avg:  0.2, Max:  0.4, Diff:  0.0, Sum:  0.3
> [0.366s][trace][gc,phases,task       ] 
> GC(2)                                0.4  0.3
>
> With the fix all values are included in the sum and the average is 
> correct.
>
> [2.830s][debug][gc,phases            ] GC(0)     Ext Root Scanning 
> (ms):   Min:  5.7, Avg:  7.3, Max:  8.9, Diff:  3.1, Sum: 14.6
> [2.830s][trace][gc,phases,task       ] 
> GC(0)                                8.9  5.7
>
> https://bugs.openjdk.java.net/browse/JDK-8152208
> http://cr.openjdk.java.net/~jmasa/8152208/webrev.00/

Nice catch! Your change looks good.

The method WorkerDataArray<T>::sum(uint active_threads) just above the 
average() method has the same issue. Can you fix that too?

Thanks,
Bengt

>
> Thanks.
>
> Jon



More information about the hotspot-gc-dev mailing list