RRF: JEP-271: Unified GC Logging

David Lindholm david.lindholm at oracle.com
Fri Nov 20 17:12:45 UTC 2015


Hi Bengt,

This is great work. The code becomes much cleaner in many places. So far 
I have reviewed cms, g1 and parallel.

However, I have some comments:

First, a general comment, I would like to remove the stats tag. I think 
most of what we log is statistics, and I don't think this tag adds value.

concurrentMarkSweepGeneration.cpp:

1443, printout talks about foreground collector. I thought the 
foreground collector was gone?
2129, indentation.
CMSCollector::is_cms_reachable() seems to be dead code, this could be 
removed in a separate patch.
CMSPhaseAccounting::wallclock_millis() seems to have a different 
implementation than before, with different functionality.
CMSCollector::markFromRoots() also talks about the foreground collector.
4058, indentation
4066, "Scavenge Before Remark" should probably be "Pause Scavenge Before 
Remark"
4166, indentation
4175, indentation
4181, indentation
4185, indentation

concurrentMarkSweepGeneration.hpp:

timerValue() has changed implementation to now return millis. Maybe 
_timer.milliSeconds() could be used instead.

parNewGeneration.cpp:

1184, "Queue overflow" -> "Queue Overflow"

collectionSetChooser.cpp:

138, if (Log<LOG_TAGS(gc, liveness)>::is_trace()) should be 
log_is_ebabled instead.

concurrentMark.cpp:

1754, Log<LOG_TAGS(gc, liveness)>::is_trace() should be log_is_ebabled 
instead.

g1CollectedHeap.cpp:

G1CollectedHeap::create_aux_memory_mapper(). TracePageSize is not 
converted. Will this be done in a later change?
2721, p2i() could be used instead.
Verifying is now printed on the verify tag. I think that when you enable 
verification this tag should be enabled.
2951, indentation
3220, indentation
3674, tm5 seems like a strange name
print_termination_stats_hdr(), I don't think you have to du the check in 
the beginning of this function, it contains just 4 printouts.
5713 - should be 1 row, not 2.
5729 - should be 1 row, not 2.
5740 - should be 1 row, not 2.
5750 - should be 1 row, not 2.

g1GCPhaseTimes.cpp:

289 - use log_is_enabled() instead
301 - use log_is_enabled() instead
357 - remove commented out code
365 - remove commented out code

g1_globals.hpp:

49 - "gc,remset" -> "gc+remset"

g1StringDedupQueue.cpp

158-159, indentation

g1StringDedupThread.cpp

156 - use log_is_enabled() instead
158 - use log_is_enabled() instead

youngList.cpp

117, indent

adjoiningGenerations.cpp

Please remove 4 comments inside a call. Rows 170, 186, 212 and 230

gcTaskManager.cpp

470-473 indent

gcTaskThread.cpp

81, use log_is_enabled() instead
138, use log_is_enabled() instead
154, use log_is_enabled() instead

psAdaptiveSizePolicy.cpp

698-702, this could be on one line.
789-793, this could be on one line.

psParallelCompact.cpp

356, indentation.


Thanks,
David

On 2015-11-19 16:29, Bengt Rutisson wrote:
>
> Hi everyone,
>
> After three pre-reviews it is time for the fist official review 
> request for JEP-271 Unified GC Logging.
>
> http://openjdk.java.net/jeps/271
>
> Most code changes are in the hotspot code:
> http://cr.openjdk.java.net/~brutisso/JEP-271/review.00/webrev.00/
>
> Some tests in the JDK repo have been updated:
> http://cr.openjdk.java.net/~brutisso/JEP-271/review.00/jdk-webrev.00/
>
> As with the pre-reviews I have put togther some examples of what the 
> new logging looks like:
> http://cr.openjdk.java.net/~brutisso/JEP-271/review.00/compare.html
>
> The intent is that this should cover the bulk of the logging changes. 
> There will most definitely be some follow up changes where we fix 
> details in the log messages etc.
>
> Among many other old logging flags this changeset removes the two 
> flags PringGC and PrintGCDetails. These two will be added back with a 
> follow up changeset, but when they are added back they will be marked 
> as deprecated.
>
> The reason for first removing them and then adding them back is to get 
> testing without these flags. That way we will know that we clean out 
> all usages of these flags from our testing.
>
> Thanks,
> Bengt




More information about the hotspot-gc-dev mailing list