RFR(S): 8007036: G1: Too many old regions added to last mixed GC
John Cuthbertson
john.cuthbertson at oracle.com
Tue Jan 29 21:35:28 UTC 2013
Hi Everyone,
Here's a new webrev based upon feedback from Vitaly:
http://cr.openjdk.java.net/~johnc/8007036/webrev.1/
JohnC
On 1/28/2013 1:59 PM, John Cuthbertson wrote:
> Hi Everyone,
>
> Can I have a couple of volunteers look over the changes for this CR?
> The webrev is at: http://cr.openjdk.java.net/~johnc/8007036/webrev.0/
>
> Summary:
> When adding old regions to the collection set we don't take into
> account whether the old regions added so far take us below the
> G1HeapWastePercent. As a result we could end up adding (and
> collecting) many more regions than we needed to. The actual number
> added was the minimum between the number of candidate regions /
> G1MixedGCCountTarget and 10% of the heap.
>
> Currently the calculation of the reclaimable bytes as a percentage of
> the uses exact arithmetic. It might make sense, at some point in the
> future, to use inexact arithmetic (rounding) in the decision on
> whether to continue mixed GCs and use exact arithmetic when adding
> regions.
>
> As part of this change I've also moved a couple routines from
> CollectionSetChooser to G1CollectorPolicy. I think they "fit" better
> in G1CollectorPolicy.
>
> Testing:
> GCOld with tenuring threshold = 1 and a marking threshold = 10.
>
> Many thanks to Monica for identifying the issue.
>
> Thanks,
>
> JohnC
More information about the hotspot-gc-dev
mailing list