RFR (S/M): 8155094: Add logging for long lasting methods found in JDK-8152948

Thomas Schatzl thomas.schatzl at oracle.com
Mon Mar 6 13:46:24 UTC 2017


Hi Kim,

  thanks for your review.

On Sun, 2017-02-26 at 03:03 -0500, Kim Barrett wrote:
> > 
> > On Feb 23, 2017, at 6:06 AM, Thomas Schatzl <thomas.schatzl at oracle.
> > com> wrote:
> > 
> > Hi all,
> > 
> >   can I have reviews for this change that adds straightforward
> > logging for some phases that were found to sometimes take a
> > significant amount of time to allow us to identify them more easily
> > in the future?
> > 
> > It's basic adding of the necessary code - I agree that we should
> > make the logging more convenient to use - but I would like to do
> > this kind of refactoring in another change.
> > 
> > CR:
> > https://bugs.openjdk.java.net/browse/JDK-8155094
> > Webrev:
> > http://cr.openjdk.java.net/~tschatzl/8155094/webrev/
> > Testing:
> > jprt (updated test case), tier 2+3 gc tests
> > 
> > Thanks,
> >   Thomas
> -------------------------------------------------------------------
> ----------- 
> src/share/vm/gc/g1/g1GCPhaseTimes.hpp
>  103   double _cur_dpt_update_time_ms;
>  190   void record_dpt_update_time(double ms) {
> 
> What is dpt?  Oh, DerivedPointerTable.  The abbreviation is not
> helpful; please expand.

Done.

> 
> -------------------------------------------------------------------
> ----------- 
> src/share/vm/gc/g1/g1CollectedHeap.cpp
> 3004 void G1CollectedHeap::start_new_collection_set() {
> ...
> 3009   guarantee(_eden.length() == 0, "eden should have been
> cleared");
> 3010   g1_policy()->transfer_survivors_to_cset(survivor());
> 
> The call site for this new function at 3215 had those two lines, but
> the call site at 1382 did not.  That change seem suspicious.
> 

The two lines relabel the survivor regions as eden.
Since full gc always relabels everything else as old, so this is a
(cheap) nop at this time.

It may be useful though in the future to have full gc not mix together
the generations (i.e. prematurely promote the objects left in young gen
), resulting in separate survivor and old regions.

I can undo this change though.

Thanks,
  Thomas



More information about the hotspot-gc-dev mailing list