Request for review: 7098155: Resize young gen at full collections for UseParallelGC
Tao Mao
tao.mao at oracle.com
Wed Nov 13 18:48:37 UTC 2013
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.)
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