Request for review (m) 8008966: NPG: Inefficient Metaspace counter functions cause large young GC regressions

Jon Masamitsu jon.masamitsu at oracle.com
Fri Apr 19 05:03:30 UTC 2013


This is the webrev for the complete set of  changes
(updated to the latest gc_baseline).

http://cr.openjdk.java.net/~jmasa/8008966/webrev.01/

Thanks.

Jon

On 4/12/2013 4:04 PM, Jon Masamitsu wrote:
> This is the promised semantic changes for the code review.  Whereas
> the original set of changes only maintained a running sum for the
> capacity of all the space for metadata, this added a running sum
> for the used space allocated and holding metadata.
>
> http://cr.openjdk.java.net/~jmasa/8008966/webrev.00_2/
>
> This is an incremental webrev based on the name change webrev
> (webrev.00_1) below.  A complete webrev with all changes will
> be published after comments for this have been digested.
>
> Thanks.
>
> Jon
>
> On 3/29/2013 5:20 PM, Jon Masamitsu wrote:
>> Ths webrev has mostly name changes suggested by the code
>> review comments.  There are additional changes coming that
>> relate to semantic changes suggested by the code review.
>>
>> This was created by deleting some of the suggested semantic
>> changes so will not compile.  The next webrev will be relative
>> to this one so you won't have to look at the name changes when
>> looking and the semantic changes.
>>
>> Ignore the block comment about chunk accounting at the
>> beginning of metaspace.cpp.  That will be updated or deleted
>> in the next webrev.
>>
>> The deletion of some dead code is included in this webrev
>> (limited number of lines).
>>
>> http://cr.openjdk.java.net/~jmasa/8008966/webrev.00_1/
>>
>> Thanks.
>>
>> Jon
>>
>> On 3/26/2013 9:13 PM, Jon Masamitsu wrote:
>>>
>>> Replace the use of a method that calculated the total capacity of
>>> the Metaspaces by iterating over all the Metaspaces by maintaining
>>> the sum of Metaspace capacities as the Metachunks are
>>> allocated to each Metaspace.  Also maintain a sum for each
>>> Metaspace as the Metachunks are allocated to that Metaspace.
>>>
>>> Change should_expand() and compute_new_space() to
>>> calculate quantities in bytes.
>>>
>>> Remove calls to methods that calculated totals for
>>> "used" and "free" by iterating over the Metaspaces
>>> in product mode.  In some cases substitute the use
>>> of capacity for used.
>>>
>>> http://cr.openjdk.java.net/~jmasa/8008966/webrev.00/
>>>
>>> Thanks.
>>>
>>> Jon
>>
>




More information about the hotspot-gc-dev mailing list