Make reserved_size for compressed class space and metaspace respect the ergo-initialized CompressedClassSpaceSize flag value

Yasumasa Suenaga yasuenag at gmail.com
Fri Dec 8 05:44:45 UTC 2017


Hi Man,

CompressedClassSpaceSize might be modified by FLAG_SET_ERGO.
So I think you need to move set_compressed_class_space_size() only.


Thanks,

Yasumasa



2017-12-08 3:42 GMT+09:00 Man Cao <manc at google.com>:
> Hello,
>
> This is a friendly ping. Could anyone review or sponsor this change? It's
> just a two-liner change.
>
> -Man
>
> On Thu, Nov 30, 2017 at 2:03 PM, Man Cao <manc at google.com> wrote:
>>
>> I realized that the email attachment is probably dropped by the mailing
>> list, so below is the inlined patch.
>>
>> --- old/src/hotspot/share/memory/metaspace.cpp 2017-11-29
>> 14:56:59.017118444 -0800
>> +++ new/src/hotspot/share/memory/metaspace.cpp 2017-11-29
>> 14:56:58.657121375 -0800
>> @@ -3321,9 +3321,6 @@
>>    MinMetaspaceExpansion = align_down_bounded(MinMetaspaceExpansion,
>> _commit_alignment);
>>    MaxMetaspaceExpansion = align_down_bounded(MaxMetaspaceExpansion,
>> _commit_alignment);
>>
>> -  CompressedClassSpaceSize = align_down_bounded(CompressedClassSpaceSize,
>> _reserve_alignment);
>> -  set_compressed_class_space_size(CompressedClassSpaceSize);
>> -
>>    // Initial virtual space size will be calculated at global_initialize()
>>    size_t min_metaspace_sz =
>>        VIRTUALSPACEMULTIPLIER * InitialBootClassLoaderMetaspaceSize;
>> @@ -3341,6 +3338,8 @@
>>                    min_metaspace_sz);
>>    }
>>
>> +  CompressedClassSpaceSize = align_down_bounded(CompressedClassSpaceSize,
>> _reserve_alignment);
>> +  set_compressed_class_space_size(CompressedClassSpaceSize);
>>  }
>>
>>  void Metaspace::global_initialize() {
>>
>> Best,
>> Man
>>
>> On Wed, Nov 29, 2017 at 3:21 PM, Man Cao <manc at google.com> wrote:
>>>
>>> Hello,
>>>
>>> This patch is a follow-up fix for
>>> https://bugs.openjdk.java.net/browse/JDK-8087291
>>>
>>> This patch moves the call to set_compressed_class_space_size() after the
>>> flag value for CompressedClassSpaceSize is ergo-initialized, fixing the
>>> issue that the reserved size for compressed class space and metaspace is
>>> excessively large when MaxMetaspaceSize is set to a small value. More
>>> discussion about it is available here:
>>>
>>> http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2017-November/025200.html
>>>
>>> This code patch is attached. Could anyone review and/or sponsor this
>>> patch?
>>>
>>> Best,
>>> Man
>>
>>
>



More information about the hotspot-gc-dev mailing list