8008546: Wrong G1ConfidencePercent results in GUARANTEE(VARIANCE() > -1.0) FAILED

Thu, 21 Feb 2013 23:58:05 -0800

author
poonam
date
Thu, 21 Feb 2013 23:58:05 -0800
changeset 4650
f1fb03a251e9
parent 4595
d5e12e7d2f71
child 4651
fd32b88a87e9

8008546: Wrong G1ConfidencePercent results in GUARANTEE(VARIANCE() > -1.0) FAILED
Reviewed-by: brutisso, johnc
Contributed-by: vladimir.kempik@oracle.com

src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp file | annotate | diff | comparison | revisions
src/share/vm/gc_implementation/g1/g1_globals.hpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Fri Feb 15 13:27:21 2013 -0800
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp	Thu Feb 21 23:58:05 2013 -0800
     1.3 @@ -267,7 +267,15 @@
     1.4    double max_gc_time = (double) MaxGCPauseMillis / 1000.0;
     1.5    double time_slice  = (double) GCPauseIntervalMillis / 1000.0;
     1.6    _mmu_tracker = new G1MMUTrackerQueue(time_slice, max_gc_time);
     1.7 -  _sigma = (double) G1ConfidencePercent / 100.0;
     1.8 +
     1.9 +  uintx confidence_perc = G1ConfidencePercent;
    1.10 +  // Put an artificial ceiling on this so that it's not set to a silly value.
    1.11 +  if (confidence_perc > 100) {
    1.12 +    confidence_perc = 100;
    1.13 +    warning("G1ConfidencePercent is set to a value that is too large, "
    1.14 +            "it's been updated to %u", confidence_perc);
    1.15 +  }
    1.16 +  _sigma = (double) confidence_perc / 100.0;
    1.17  
    1.18    // start conservatively (around 50ms is about right)
    1.19    _concurrent_mark_remark_times_ms->add(0.05);
     2.1 --- a/src/share/vm/gc_implementation/g1/g1_globals.hpp	Fri Feb 15 13:27:21 2013 -0800
     2.2 +++ b/src/share/vm/gc_implementation/g1/g1_globals.hpp	Thu Feb 21 23:58:05 2013 -0800
     2.3 @@ -32,7 +32,7 @@
     2.4  
     2.5  #define G1_FLAGS(develop, develop_pd, product, product_pd, diagnostic, experimental, notproduct, manageable, product_rw) \
     2.6                                                                              \
     2.7 -  product(intx, G1ConfidencePercent, 50,                                    \
     2.8 +  product(uintx, G1ConfidencePercent, 50,                                   \
     2.9            "Confidence level for MMU/pause predictions")                     \
    2.10                                                                              \
    2.11    develop(intx, G1MarkingOverheadPercent, 0,                                \

mercurial