RFR(S): 7185699: G1: Prediction model discrepancies

John Cuthbertson john.cuthbertson at oracle.com
Fri Jul 27 17:39:15 UTC 2012


Hi Everyone,

A new webrev incorporating feedback from Thomas can be found at: 
http://cr.openjdk.java.net/~johnc/7185699/webrev.1/

Thanks,

JohnC

On 07/24/12 11:15, John Cuthbertson wrote:
> Hi Everyone,
>
> Can I have a couple of volunteers to review the changes for this CR? 
> The webrev can be found at: 
> http://cr.openjdk.java.net/~johnc/7185699/webrev.0/.
>
> Background:
> While I was going through the code for the current mixed GC policy and 
> the code that adds non-young regions to the collection set, I found a 
> couple of minor bugs associated with the prediction code. The first 
> was the calculation of the number of unprocessed dirty card at the 
> start of the GC - this was using routines that return a number of 
> bytes rather than the number of entries. As a result we were vastly 
> overestimating the base pause time. The second was in the code that 
> calculates the GC efficiency of a non-young region. The GC efficiency 
> of a region is calculated at the end of marking. The code, however, 
> was using the wrong routine to predict the number of cards for a given 
> RSet length. It was using the data collected for young GCs when it 
> should have been using the data collected for mixed GCs.
>
> The other changes are minor cleanups. These help to slightly increase 
> the amount of inlining with the Solaris Studio compiler and save an 
> iteration over the collection set.
>
> Testing:
> Dacapo2006 with Ergonomic output enabled; Dacapo2006 with 
> PrintLivenessInfo enabled (before and after); GC test suite with 
> verification; jprt.
>
> Thanks,
>
> JohnC




More information about the hotspot-gc-dev mailing list