CRR (XS): 7118202: G1: eden size unnecessarily drops to the minimum
Bengt Rutisson
bengt.rutisson at oracle.com
Mon Dec 5 21:35:35 UTC 2011
Tony,
I am a bit uncomfortable with this change since we don't know exactly
what is going on. But I think I would prefer this fix instead:
1557 if (_max_rs_lengths > _recorded_rs_lengths) {
1558 size_t rs_length_diff = _max_rs_lengths - _recorded_rs_lengths;
1559 _rs_length_diff_seq->add((double) rs_length_diff);
1560 }
Seems more in line with the original code.
I'd also like to understand if this statement (a little bit further down
in the same method) is necessary:
1605 _rs_lengths_seq->add((double) _max_rs_lengths);
Bengt
On 2011-12-05 21:53, Tony Printezis wrote:
> Hi all,
>
> I'd like a couple of code reviews for this very small change:
>
> http://cr.openjdk.java.net/~tonyp/7118202/webrev.0/
>
> It turns out that _max_rs_lengths gets smaller than
> _recorded_rs_lengths and rs_length_diff ends up huge which causes RSet
> lengths to be massively overpredicted.
>
> We'll leave this small fix in until we work out why the problem
> happens (or most likely until we revamp the whole prediction code as
> we're planning to).
>
> Thanks, again, to Thoms Schatzl for tracking this down.
>
> Tony
>
More information about the hotspot-gc-dev
mailing list