JEP 271: Unified GC Logging - Third pre-review

Bengt Rutisson bengt.rutisson at oracle.com
Mon Nov 16 12:17:14 UTC 2015


Hi Kirk,

On 2015-11-13 19:49, Kirk Pepperdine wrote:
> Hi Bengt,
>
> GC(5) seems to be missing. from 
> http://cr.openjdk.java.net/~brutisso/JEP-271/pre-review.02/logs/ConcMarkSweep-Xlog-gc-ergo-star-trace.txt 
> <http://cr.openjdk.java.net/%7Ebrutisso/JEP-271/pre-review.02/logs/ConcMarkSweep-Xlog-gc-ergo-star-trace.txt>

Good catch. This is a problem with the way CMS (or rather 
GenCollectedHeap) can skip a young GC and directly kick off a full 
collection if it finds that the young collection would fail. The way 
GenCollectedHeap::do_collection() handles the two types of collections 
that it can start is too complex in my opinion.

This is the same code that makes this log:

http://cr.openjdk.java.net/~brutisso/JEP-271/pre-review.02/logs/Serial-Xlog-gc-info.txt

look like collection number 5 and 3 come in the wrong order.

(See the "Even more details..." section in my first pre-review: 
http://cr.openjdk.java.net/~brutisso/JEP-271/pre-review.00/compare.html)

I will file an RFE to fix this but it is not really a logging problem. 
It is more of a code structure problem. So, I would like to fix this 
separately after the big unified logging change has been pushed. The new 
logging just makes it more visible.

Thanks,
Bengt


>
> Regards,
> Kirk
>
>> On Nov 13, 2015, at 9:56 AM, Bengt Rutisson 
>> <bengt.rutisson at oracle.com <mailto:bengt.rutisson at oracle.com>> wrote:
>>
>>
>> Hi everyone,
>>
>> Here is an updated pre-review for the work for JEP 271 Unified GC 
>> Logging.
>>
>> Now it includes all the logging that I plan on converting for the 
>> first step.
>>
>> Here are examples from the latest prototype:
>> http://cr.openjdk.java.net/~brutisso/JEP-271/pre-review.02/compare.html 
>> <http://cr.openjdk.java.net/%7Ebrutisso/JEP-271/pre-review.02/compare.html>
>>
>> The webrev for the changes is available here:
>> http://cr.openjdk.java.net/~brutisso/JEP-271/pre-review.02/webrev.02/
>>
>> Some changes that have been made:
>>
>> - GC id is now logged as "GC(5)" instead of the previous "GC#5"
>> - The CMS and G1 concurrent logging have been homogenized to look 
>> similar. All concurrent phases are start with "Concurrent" and now 
>> include timestamps.
>> - The paused phases now all start with "Pause".
>> - The log messages from the different collectors now look more 
>> similar. For example "Pause Young" is used for young GCs for all 
>> collectors instead of for example "Young pause" for G1 and "Pause. 
>> ParNew" for CMS.
>> - I've added a line at the start of the log to clearly state what GC 
>> is selected.
>>
>> Thanks,
>> Bengt
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20151116/5ea4adde/attachment.htm>


More information about the hotspot-gc-dev mailing list