RFR: Improve/more detailed timing stats for Traversal GC

Roman Kennke rkennke at redhat.com
Fri Feb 2 15:16:11 UTC 2018


Am 02.02.2018 um 15:15 schrieb Aleksey Shipilev:
> On 02/02/2018 03:05 PM, Roman Kennke wrote:
>> We've two problems in the timing stats in Traversal GC:
>> - the update-roots pass uses final_traversal_gc_work and thus overrides the previous final-traversal
>> roots timings.
>> - finishing the queues is done in the same pass as root scanning, by the same workers.
>>
>> This patch introduces a new set of worker timings for traversal-update-roots and a new worker timing
>> item 'Finish Queues'.
>>
>> http://cr.openjdk.java.net/~rkennke/traversal-stats/webrev.00/
> 
> *) Indent is wrong:
> 
>   371   _phase_names[final_update_refs_finish_queues]   = "    UR: Finish Queues";
> 
> *) You have _heap field available for this:
> 
>    ShenandoahWorkerTimings *worker_times = ShenandoahHeap::heap()->phase_timings()->worker_times();
> 
> Otherwise looks good.
> 
> Thanks,
> -Aleksey
> 

Like this?

Differential:
http://cr.openjdk.java.net/~rkennke/traversal-stats/webrev.01.diff/
Full:
http://cr.openjdk.java.net/~rkennke/traversal-stats/webrev.01/

Roman


More information about the shenandoah-dev mailing list