RFR (L) 8034246: remove CMS and ParNew adaptive size policy code

Kirk Pepperdine kirk at kodewerk.com
Thu May 8 04:11:37 UTC 2014


Thanks John.

On May 8, 2014, at 1:44 AM, John Coomes <John.Coomes at oracle.com> wrote:

> Kirk Pepperdine (kirk at kodewerk.com) wrote:
>> Hi,
>> 
>> So my understanding correct (without digging into the code) is that CMS no longer uses any adaptive sizing?
>> 
>> In the past I’ve provided charts that demonstrated adaptive sizing shrank memory in response to lower object creation rates. All well and good but in these cases the lower object creation rates were a result of increased frequency and duration of collections which should have resulted in a larger heap! There are/were a number of other degenerative cases where top of heap aggressively tracked top of live set causing all kinds of grief so backing off of this implementation seems reasonable, especially if there is little chance of it being fixed.
> 
> Hi Kirk,
> 
> Actually, CMS will still use the same sizing code that it has for many
> years.
> 
> The option -XX:+UseAdaptiveSizePolicy enabled code that was intended
> to do more "ergonomic" sizing of the survivor spaces, generations and
> tenuring threshold than is currently done, to reduce the need to tune
> those on the command line.  However, the CMS implementation was
> incomplete and it was never enabled by default for CMS (it is enabled
> by default for ParallelGC, where it works well).
> 
> Some time ago [1] UseAdaptiveSizePolicy had to be completely disabled
> for CMS (i.e., it is disabled even if you add
> -XX:+UseAdaptiveSizePolicy on the command line) because it would cause
> the VM to crash.  So this change just removes code that cannot be
> executed.
> 
> -John
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-7112413
> 
>> On May 7, 2014, at 8:37 AM, Srinivas Ramakrishna <ysr1729 at gmail.com> wrote:
>> 
>>> 
>>> Looks good to me too, and good that we are able to remove code that hasn't been used and seems unlikely now, with G1 available, to have the resources to make it work well. Please make sure that this has also been approved by Jon.
>>> 
>>> Reviewed.
>>> -- Ramki
>>> 
>>> ysr1729
>>> 
>>>> On May 6, 2014, at 21:38, John Coomes <John.Coomes at oracle.com> wrote:
>>>> 
>>>> Mikael Gerdin (mikael.gerdin at oracle.com) wrote:
>>>>> John,
>>>>> 
>>>>>> On Monday 05 May 2014 09.14.40 John Coomes wrote:
>>>>>> I'd appreciate reviews of this change to delete unused adaptive size
>>>>>> policy code for cms and parnew.  It's big in terms of line count, but
>>>>>> most comes from the deletion of 6 files.
>>>>>> 
>>>>>> http://cr.openjdk.java.net/~jcoomes/8034246-rm-cms-asp/
>>>>> 
>>>>> Good to get rid of code that hasn't been working for a while.
>>>>> 
>>>>> In src/share/vm/memory/collectorPolicy.cpp the include statement:
>>>>> #include "gc_implementation/shared/adaptiveSizePolicy.hpp"
>>>>> is already present a few lines up.
>>>> 
>>>> Yes; fixed.
>>>> 
>>>>> CMSCollector::size_policy and ConcurrentMarkSweepGeneration::size_policy are 
>>>>> basically identical now, do you want to fix this now or leave this as just a 
>>>>> code removal change? (personally, I'm fine either way)
>>>> 
>>>> The ConcurrentMarkSweepGeneration one is no longer used, so I removed
>>>> it.  Updated webrev is at the same location.
>>>> 
>>>>> Consider the change reviewed nevertheless.
>>>> 
>>>> Thanks!
>>>> 
>>>> -John
>> 
> 
> -- 
> John Coomes                            Oracle, MS USCA22-3??
> john.coomes at oracle.com                 4220 Network Circle
> 408-276-7048                           Santa Clara, CA 95054-1778
> 	 *** Support GreenPeace and we'll all breathe easier. ***




More information about the hotspot-gc-dev mailing list