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