RFR: 8036703: Add trace event with statistics for the metaspace chunk free lists
Mikael Gerdin
mikael.gerdin at oracle.com
Mon Mar 17 08:34:15 UTC 2014
Erik,
On Thursday 13 March 2014 14.00.33 Erik Helin wrote:
> Hi Mikael and Stefan,
>
> thanks for having a look and special thanks to Mikael for finding the bug!
>
> Please see new webrev at:
> http://cr.openjdk.java.net/~ehelin/8036703/webrev.04/
>
> Please see the incremental webrev at:
> http://cr.openjdk.java.net/~ehelin/8036703/webrev.03-04/
Looks good.
/Mikael
>
> Based on some internal feedback, I also corrected a few nits (see the
> incremental webrev for details).
>
> Thanks,
> Erik
>
> On 2014-03-13 10:40, Stefan Karlsson wrote:
> > On 2014-03-13 09:57, Mikael Gerdin wrote:
> >> Hi Erik,
> >>
> >> On Wednesday 12 March 2014 17.04.26 Erik Helin wrote:
> >>> Based on feedback from Mikael and StefanK, I've reworked the patch to
> >>> put the ChunkFreeListSummaries in the class MetaspaceSummary.
> >>>
> >>> Please see the new version at:
> >>> http://cr.openjdk.java.net/~ehelin/8036703/webrev.03/
> >>
> >> I think this version is much better!
> >> Just a small issue:
> >>
> >> collectedHeap.cpp
> >>
> >> 99
> >>
> >> 100 const MetaspaceChunkFreeListSummary& ms_chunk_free_list_summary =
> >> 101 MetaspaceAux::chunk_free_list_summary(Metaspace::ClassType);
> >> 102 const MetaspaceChunkFreeListSummary&
> >>
> >> class_chunk_free_list_summary =
> >>
> >> 103 MetaspaceAux::chunk_free_list_summary(Metaspace::NonClassType);
> >> 104
> >>
> >> It looks like you pass the wrong MetadataType to
> >> chunk_free_list_summary here,
> >> ClassType and NonClassType should be swapped.
> >
> > Except for this bug, this looks good.
> >
> > thanks,
> > StefanK
> >
> >> /Mikael
> >>
> >>> Thanks,
> >>> Erik
> >>>
> >>> On 2014-03-06 11:56, Erik Helin wrote:
> >>>> A small bug had found its way into this patch:
> >>>>
> >>>> metaspace.cpp:
> >>>> +bool MetaspaceAux::has_chunk_free_list(Metaspace::MetadataType
> >>>> mdtype) {
> >>>> + return Metaspace::get_chunk_manager(mdtype) == NULL;
> >>>> +}
> >>>>
> >>>> should of course be:
> >>>>
> >>>> +bool MetaspaceAux::has_chunk_free_list(Metaspace::MetadataType
> >>>> mdtype) {
> >>>> + return Metaspace::get_chunk_manager(mdtype) != NULL;
> >>>> +}
> >>>>
> >>>> Please see new webrev at:
> >>>> http://cr.openjdk.java.net/~ehelin/8036703/webrev.01/
> >>>>
> >>>> Thanks,
> >>>> Erik
> >>>>
> >>>> On 2014-03-06 10:35, Erik Helin wrote:
> >>>>> Hi all,
> >>>>>
> >>>>> this patch adds a new trace event -
> >>>>> vm/gc/metaspace/chunk_free_list_summary for getting statistics for
> >>>>> metaspace's chunk free lists. The event contains the numbers of chunks
> >>>>> in the free list and the size of the chunks in the free lists. This
> >>>>> information is provided for all different kinds of chunks - special,
> >>>>> small, medium and humongous.
> >>>>>
> >>>>> This information will be useful when diagnosing fragmentation
> >>>>> issues in
> >>>>> metaspace.
> >>>>>
> >>>>> Webrev:
> >>>>> http://cr.openjdk.java.net/~ehelin/8036703/webrev.00/
> >>>>>
> >>>>> Enhancement:
> >>>>> https://bugs.openjdk.java.net/browse/JDK-8036703
> >>>>>
> >>>>> Testing:
> >>>>> - JFR JTREG tests
> >>>>> - JPRT
> >>>>> - Manually verifying that the numbers look correct by looking at
> >>>>>
> >>>>> recordings from small test cases.
> >>>>>
> >>>>> Thanks,
> >>>>> Erik
More information about the hotspot-dev
mailing list