RFR: 8167679: G1 phase logging is messy
Erik Helin
erik.helin at oracle.com
Mon Oct 17 15:05:38 UTC 2016
On 2016-10-14, kirk.pepperdine at gmail.com wrote:
> Hi Erik,
>
> Is it possible to generate a few examples such as this? http://cr.openjdk.java.net/~brutisso/JEP-271/review.00/compare.html <http://cr.openjdk.java.net/~brutisso/JEP-271/review.00/compare.html>
Hey Kirk,
thanks for having a look! I've uploaded a few examples:
- Xlog:gc=info:
http://cr.openjdk.java.net/~ehelin/8167679/info.txt
(same as before, nothing has changed)
- Xlog:gc*=info:
http://cr.openjdk.java.net/~ehelin/8167679/star-info.txt
In this example one can see the new info level phases:
- Pre Evacuate Collection Set
- Evacuate Collection Set
- Post Evacuate Collection Set
- Other
- Xlog:gc*=info,gc+phases=debug:
http://cr.openjdk.java.net/~ehelin/8167679/phases-debug.txt
In this example one can see the re-structured debug level phases.
I'm thinking of moving some of the debug level phases to trace, but that
would be another patch.
Thanks,
Erik
> Kind regards,
> Kirk
>
> > On Oct 14, 2016, at 4:00 PM, Erik Helin <erik.helin at oracle.com> wrote:
> >
> > Hi all,
> >
> > this patch re-organizes the slightly messy phase logging for G1. Right
> > now there are a couple of "top-level" phases at gc+phases=info level:
> > - Evacuate Collection Set
> > - Code Roots
> > - Merge Per-Thread States
> > - Clear card table
> > - Free Collection Set
> > - Other
> > (-Root Region Scan Waiting if it takes any time)
> >
> > There is no reasoning for showing exactly these phases, they have more or
> > less just been added over the years. The "Other" phase includes multiple
> > miscellanous phases as well as unknown/unmeasured time. This patch
> > introduces four phases on the gc+phases=info level:
> > - Pre Evacuate Collectinon Set
> > - Evacuate Collection Set
> > - Post Evacuate Collection Set
> > - Other
> >
> > where "Other" now is only unknown/unmeasured time. I have organized the
> > phases at gc+phases=debug level so they are now in "execution order":
> > - Pre Evacuate Collection Set
> > - Choose Collection Set
> > - Humongous Register
> > - Evacuate Collection Set
> > - Ext Root Scanning
> > - Update RS
> > - Scan RS
> > - Code Root Scanning
> > - Object Copy
> > - Termination
> > - Post Evacuate Collection Set
> > - Code Roots Fixup
> > - Preserve CM Refs
> > - Reference Processing
> > - Clear Card Table
> > - Reference Enqueuing
> > - Code Roots Purge
> > - Redirty Cards
> > - Free Collection Set
> > - Humongous Reclaim
> > - Expand Heap After Collection
> > - Other
> >
> > The "Code Roots" phase at info level was removed since it doesn't make
> > sense to sum "Code Roots Fixup" and "Code Roots Purge", that shouldn't
> > have been done to begin with.
> >
> > As for the code, I removed a few macros and replaced them with just
> > normal functions.
> >
> > Webrev:
> > http://cr.openjdk.java.net/~ehelin/8167679/00/
> >
> > Bug:
> > https://bugs.openjdk.java.net/browse/JDK-8167679
> >
> > Testing:
> > - JPRT
> >
> > Thanks,
> > Erik
>
More information about the hotspot-gc-dev
mailing list