RFR (M): 8137082: Factor out G1 prediction code from G1CollectorPolicy and clean up

Thomas Schatzl thomas.schatzl at oracle.com
Tue Oct 13 12:26:20 UTC 2015


Hi all,

  due to recent changes (mostly Erik's latest refactoring to the
G1CollectorPolicy already doing a lot of const'ification) I had to
rebase this change on the latest hotspot.

The webrevs include only rebase changes, no new changes.

http://cr.openjdk.java.net/~tschatzl/8137082/webrev.2/ (full)
http://cr.openjdk.java.net/~tschatzl/8137082/webrev.0_to_2/ (diff) 

Thanks,
  Thomas

On Thu, 2015-10-01 at 17:32 +0200, Thomas Schatzl wrote:
> Hi Jon,
> 
> On Thu, 2015-10-01 at 08:25 -0700, Jon Masamitsu wrote:
> > Thomas,
> > 
> > Looks good.  Thanks for the changes.
> > 
> > In g1Predictions.cpp you set epsilon to 1e-6.
> > Is that value based on what you've seen as
> > being needed to avoid floating point inaccuracies?
> > Or just a nice conservative number that should never
> > fail?
> > 
> 
> The 1e-6 is just some typical "small" number to counter floating point
> representation problems during comparison.
> It has nothing to do with the prediction at all.
> 
> Let me see if I can find something like that in the existing code.
> 
> > If you decide to add a comment about what this code
> > is trying to do (as I requested in my last mail)
> > 
> >   469   if ((2.0 /* magic */ * _predictor.sigma()) * (double) bytes_to_copy > (double) free_bytes) {
> > 
> > I don't need a new webrev.
> 
> I added comments to JDK-8138684. I expect that to be fixed soon, the
> current code makes G1 take too much risk in adding regions, potentially
> causing evacuation failures. This degrades the G1 experience :)
> 
> Thanks,
>   Thomas
> 
> 





More information about the hotspot-gc-dev mailing list