Request for review (S): 7198130: G1: PrintReferenceGC output comes out of order

Bengt Rutisson bengt.rutisson at oracle.com
Mon Sep 17 08:40:01 UTC 2012


Hi John,

Thanks for the review. Good point about using 
"gclog_or_tty->stamp(PrintGCTimeStamps)".  I found the same pattern in a 
few more places so I updated those as well. Here is an updated webrev:

http://cr.openjdk.java.net/~brutisso/7198130/webrev.03/

I still need one more review. Any takers?

Bengt


On 2012-09-14 23:05, John Cuthbertson wrote:
> Hi Bengt,
>
> This looks good. One nit:
>
> Instead of:
>
> 3671   if (PrintGCTimeStamps) {
> 3672     gclog_or_tty->stamp();
> 3673     gclog_or_tty->print(": ");
> 3674   }
>
> How about:
>
> 3672     gclog_or_tty->stamp(PrintGCTimeStamps);
>
>
> Regards,
>
> JohnC
>
> On 09/14/12 01:41, Bengt Rutisson wrote:
>>
>> Hi again,
>>
>> Updated webrev based on merging a similar patch from John Cuthbertson:
>> http://cr.openjdk.java.net/~brutisso/7198130/webrev.02/
>>
>> Bengt
>>
>>
>> On 2012-09-13 10:07, Bengt Rutisson wrote:
>>>
>>> Hi all,
>>>
>>> Can I have some reviews for this change?
>>> http://cr.openjdk.java.net/~brutisso/7198130/webrev.01/
>>>
>>> This fixes two issues that were introduced by a previous change I 
>>> made to the G1 logging. Most importantly the time stamp for the GC 
>>> log entry is now the start of the GC. Secondly, any interleaved 
>>> logging that is done by other modules will be seen within the GC log 
>>> entry. This is the way it used to be.
>>>
>>> As an example using these switches on the command line "-XX:+UseG1GC 
>>> -XX:+PrintGCDetails -XX:+PrintReferenceGC" currently produce output 
>>> like:
>>>
>>> 3.648: [SoftReference, 0 refs, 0.0000110 secs]3.648: [WeakReference, 
>>> 207 refs, 0.0000440 secs]3.648: [FinalReference, 14473 refs, 
>>> 0.0499260 secs]3.698: [PhantomReference, 0 refs, 0.0000050 
>>> secs]3.698: [JNI Weak Reference, 0.0000120 secs]3.700: [GC pause (G1 
>>> Evacuation Pause) (young), 0.0853910 secs]
>>>    [Parallel Time: 31.9 ms, GC Workers: 8]
>>>
>>> But with my suggested fix it will be:
>>>
>>> 5.814: [GC pause (young)6.030: [SoftReference, 0 refs, 0.0000924 
>>> secs]6.030: [WeakReference, 3 refs, 0.0001098 secs]6.031: 
>>> [FinalReference, 6 refs, 0.0000924 secs]6.032: [PhantomReference, 0 
>>> refs, 0.0000893 secs]6.032: [JNI Weak Reference, 0 refs, 0.0001699 
>>> secs], 0.2200814 secs]
>>>    [Parallel Time: 214.3 ms, GC Workers: 4]
>>>
>>>
>>> This is consistent with the way it looked before my previous change 
>>> to the G1 logging:
>>>
>>> 3.746: [GC pause (young)3.802: [SoftReference, 0 refs, 0.0000090 
>>> secs]3.802: [WeakReference, 148 refs, 0.0000400 secs]3.802: 
>>> [FinalReference, 13020 refs, 0.0462290 secs]3.848: 
>>> [PhantomReference, 7 refs, 0.0000110 secs]3.848: [JNI Weak 
>>> Reference, 0.0000150 secs], 0.10515900 secs]
>>>    [Parallel Time:  52.2 ms]
>>>
>>>
>>> Thanks,
>>> Bengt
>>
>




More information about the hotspot-gc-dev mailing list