RFR: 8036703: Add trace event with statistics for the metaspace chunk free lists

Coleen Phillimore coleen.phillimore at oracle.com
Thu Mar 13 15:00:42 UTC 2014


Erik,

On 3/13/14 9:06 AM, Erik Helin wrote:
> Hi Coleen,
>
> thanks for having a look!
>
> On 2014-03-12 22:10, Coleen Phillimore wrote:
>> Wow, that looks good.
>
> Thanks for your kind words :)
>
> On 2014-03-12 22:10, Coleen Phillimore wrote:
>> The only comment I had was that this macro for
>> index index_bounds_check in metaspace.cpp could be an inlined static
>> function, then you could avoid the odd while loop.
>
> I use a macro because I want to get the correct line in the assertion 
> failure in an eventual hs_err file. Using a static inline function 
> would only give me the line numbers of the static inline function.

I see.  That makes sense.  The revised macro looks fine.
Coleen

>
> Since we don't always get a stack trace in the hs_err file, this would 
> make it hard to determine if the assertion failure comes from 
> size_free_chunks_in_bytes or num_free_chunks.
>
> You can see the updated macro in the incremental webrev (see 
> metaspace.cpp):
> http://cr.openjdk.java.net/~ehelin/8036703/webrev.03-04/
>
> What do you think?
>
> Thanks,
> Erik
>
>> Coleen
>>
>> On 3/12/14 12:04 PM, 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/
>>>
>>> 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