RFR: 8078901: Add trace event for G1 MMU information

Stefan Johansson stefan.johansson at oracle.com
Fri Jun 26 12:27:27 UTC 2015

Thanks Erik for looking at this,

On 2015-06-18 10:44, Erik Helin wrote:
> Hi Stefan,
> sorry for not getting to this earlier, thanks a lot for this patch!
> On 2015-04-30, Stefan Johansson wrote:
>> Hi,
>> Please review this change to add a trace event for MMU tracking:
>> https://bugs.openjdk.java.net/browse/JDK-8078901
>> Webrev:
>> http://cr.openjdk.java.net/~sjohanss/8078901/hotspot.00/
> I have two comments:
> - instead of using multiple inheritance, can you instead have the
>    G1MMUTracer as a field in G1NewTracer and G1OldTracer? Then you can
>    have a getter to the field.
> - in G1MMUTracer, can you have the function report_mmu not take a
>    G1MMUTracker* but instead have two additional double parameters, one
>    for time_slice and one for max_gc_time? This way the tracers don't
>    need to know about G1MMUTracker.
Erik and I have discussed this a little more off-line and come to the 
conclusion to have an all-static class handling the the reporting of the 
MMU event. This avoids the multiple inheritance and other problems of 
having a G1MMUTracer as part of the other tracers. This solution 
slightly differ from previously uses of the "tracers" but still keeps 
the code separated in a good way.

New webrev:

> Thanks!
> Erik
>> Summary:
>> When adding pause information to the G1MMUTracker, it now reports a
>> trace-event with the latest MMU information.
>> add_pause() previously took a bool argument that was unused, but said
>> whether or not it was a concurrent-cycle pause. I removed the bool argument
>> and added G1MMUTracer* argument. The G1MMUTracer is an interface that both
>> the stw-tracer and the cm-tracer now implement to make sure the correct GC
>> id is provided with the event.
>> Thanks,
>> Stefan

More information about the hotspot-gc-dev mailing list