RFR(S): 8007036: G1: Too many old regions added to last mixed GC
john.cuthbertson at oracle.com
Mon Mar 4 09:44:22 PST 2013
Thanks for looking over the changes.
On 3/4/2013 3:59 AM, Bengt Rutisson wrote:
> One question. You added a note to the _length field in
> // The number of candidate old regions added to the CSet chooser.
> // Note: this is not updated when removing a region using
> // remove_and_move_to_next() below.
> uint _length;
> As far as I can tell we should really decrement the _length field in
> remove_and_move_to_next(). Would it maybe be better to fix this (as a
> separate change of course) than to add the note? I guess the code
> works since we don't use the length information after finlalize_cset()
> but it feels a bit fragile.
Good point. They only reason not to do this is that we don't actually
remove the element from the CollectionSetChooser. I'm not sure why. IIRC
we only use the length to calculate out the ideal minimum number and
absolute maximum number of old regions to collect each mixed GC. I'll
submit a new CR for your suggestion. I think changing the
CollectionSetChooser to use the RegionList abstraction would probably be
the way to go.
More information about the hotspot-gc-dev