Request for review: 7098155: Resize young gen at full collections for UseParallelGC
Jon Masamitsu
jon.masamitsu at oracle.com
Wed Nov 13 21:40:51 UTC 2013
Changes look good.
On 11/13/2013 10:48 AM, Tao Mao wrote:
> Hi Jon,
>
> New webrev is uploaded.
> http://cr.openjdk.java.net/~tamao/7098155/webrev.01/
>
> I think it makes even more sense to guard the piece of code under
> (UseAdaptiveGenerationSizePolicyAtMajorCollection...etc.)
Agreed. I didn't mean to imply any differently.
Jon
>
> Thanks.
> Tao
>
> On 11/6/13 7:02 PM, Jon Masamitsu wrote:
>> Tao,
>>
>> http://cr.openjdk.java.net/~tamao/7098155/webrev.00/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp.frames.html
>>
>>
>> Should this block of code
>>
>> 266 // Swap the survivor spaces if from_space is empty
>> 267 if (UseAdaptiveSizePolicyResizeYoungGenAtMajorCollection &&
>> 268 young_gen->from_space()->is_empty()) {
>> 269 young_gen->from_space()->clear(SpaceDecorator::Mangle);
>> 270 young_gen->swap_spaces();
>> 271 }
>>
>> be under the guard just below it?
>>
>> 273 if (UseAdaptiveSizePolicy) {
>>
>> http://cr.openjdk.java.net/~tamao/7098155/webrev.00/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp.frames.html
>>
>>
>> Same question for this block of code
>>
>> 2103 // Swap the survivor spaces if from_space is empty
>> 2104 if (UseAdaptiveSizePolicyResizeYoungGenAtMajorCollection &&
>> 2105 young_gen->from_space()->is_empty()) {
>> 2106 young_gen->from_space()->clear(SpaceDecorator::Mangle);
>> 2107 young_gen->swap_spaces();
>> 2108 }
>>
>> Jon
>>
>>
>>
>> On 9/23/2013 4:13 PM, Tao Mao wrote:
>>> Hi,
>>>
>>> changeset:
>>> https://bugs.openjdk.java.net/browse/JDK-7098155
>>>
>>> In order to avoid the situation for UseParallelGC described in the
>>> CR, we need to resize young gen at full collections.
>>>
>>> And, according to the heap configuration in young gen, we need to
>>> swap from- and to-space () after full gc in order to get the young
>>> gen correctly resized after several GC's.
>>>
>>> webrev:
>>> http://cr.openjdk.java.net/~tamao/7098155/webrev.00/
>>>
>>> test:
>>> - Pass JPRT tests
>>>
>>> - RefWorkload
>>>
>>> (1) ParallelGC (-XX:+UseParallelGC -XX:-UseParallelOldGC)
>>>
>>> baseline: -XX:-UseAdaptiveSizePolicyResizeYoungGenAtMajorCollection
>>> resize: -XX:+UseAdaptiveSizePolicyResizeYoungGenAtMajorCollection
>>>
>>> ./compare results_baseline_512m results_resize_512m
>>> ==============================================================================
>>>
>>> results_baseline_512m:
>>> Benchmark Samples Mean Stdev Geomean Weight
>>> jetstream 30 192.52 9.86
>>> scimark 30 855.62 30.33
>>> specjbb2005 30 145844.73 4552.07
>>> specjvm98 30 568.92 10.65
>>> ==============================================================================
>>>
>>> results_resize_512m:
>>> Benchmark Samples Mean Stdev %Diff P
>>> Significant
>>> jetstream 30 192.89 11.33 0.19
>>> 0.894 *
>>> scimark 30 862.21 24.17 0.77
>>> 0.356 *
>>> specjbb2005 30 142749.53 4852.66 -2.12
>>> 0.014 *
>>> specjvm98 30 566.42 8.55 -0.44
>>> 0.320 *
>>> ==============================================================================
>>>
>>> * - Not Significant: A non-zero %Diff for the mean could be noise.
>>> If the
>>> %Diff is 0, an actual difference may still exist. In either
>>> case, more
>>> samples would be needed to detect an actual difference in
>>> sample means.
>>>
>>> (2) ParallelOldGC (-XX:+UseParallelGC -XX:+UseParallelOldGC)
>>>
>>> baseline: -XX:-UseAdaptiveSizePolicyResizeYoungGenAtMajorCollection
>>> resize: -XX:+UseAdaptiveSizePolicyResizeYoungGenAtMajorCollection
>>>
>>> ./compare results_baseline_512m_ParallelOldGC
>>> results_resize_512m_ParallelOldGC
>>> ==============================================================================
>>>
>>> results_baseline_512m_ParallelOldGC:
>>> Benchmark Samples Mean Stdev Geomean Weight
>>> jetstream 30 196.15 8.91
>>> scimark 30 855.92 22.58
>>> specjbb2005 30 161857.59 2653.89
>>> specjvm98 30 554.76 11.31
>>> ==============================================================================
>>>
>>> results_resize_512m_ParallelOldGC:
>>> Benchmark Samples Mean Stdev %Diff P
>>> Significant
>>> jetstream 30 195.17 6.04 -0.50
>>> 0.623 *
>>> scimark 30 853.43 22.33 -0.29
>>> 0.669 *
>>> specjbb2005 30 161027.44 2705.23 -0.51
>>> 0.235 *
>>> specjvm98 30 560.08 9.74 0.96
>>> 0.056 *
>>> ==============================================================================
>>>
>>> * - Not Significant: A non-zero %Diff for the mean could be noise.
>>> If the
>>> %Diff is 0, an actual difference may still exist. In either
>>> case, more
>>> samples would be needed to detect an actual difference in
>>> sample means.
>>>
>>> Thanks.
>>> Tao
>>
More information about the hotspot-gc-dev
mailing list