Request for review (S): 7102191 G1: assert(_min_desired_young_length <= initial_region_num) failed: Initial young gen size too small
John Cuthbertson
john.cuthbertson at oracle.com
Tue Oct 25 23:23:28 UTC 2011
Hi Bengt,
This looks good to me. One suggestion - replace the body of
G1YoungGenSize::initial_young_region_num() with "ShouldNotCallThis();"
and add a comment summarizing your explanation below.
Thanks,
JohnC
On 10/24/2011 1:54 PM, Bengt Rutisson wrote:
>
> Hi all,
>
> Could I have a couple of reviews for this small change?
> http://cr.openjdk.java.net/~brutisso/7102191/webrev.01/
>
> Background
> When we use the NewRatio flag we set the min and max values for the
> young gen to the same value. We do this just after we have let the GC
> policy calculate min, initial and max values. However, if NewRatio is
> being used we only care about the min and max values. Thus, the
> update_young_list_size_using_newratio() method does not update any
> initial value.
>
> This is what triggers the assert. In G1CollectorPolicy::init() first
> calculates the "default" min, initial and max values, then we detect
> that NewRatio is being used and we update min and max, but forget
> about initial.
>
> Looking a bit closer at the calculations it turns out that the initial
> value is not needed. We only use it when we have a fixed young gen. In
> this case min == initial == max per definition. So, either min or max
> can be used instead of initial.
>
> The fix is to delete the initial value calculation and the local
> variable.
>
> CR:
> 7102191 G1: assert(_min_desired_young_length <= initial_region_num)
> failed: Initial young gen size too small
> http://monaco.sfbay.sun.com/detail.jsf?cr=7102191
>
> Thanks,
> Bengt
More information about the hotspot-gc-dev
mailing list