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

John Cuthbertson john.cuthbertson at oracle.com
Fri Aug 17 19:22:40 UTC 2012


Hi Bengt,

Thanks for the review.

JohnC

On 08/17/12 01:37, Bengt Rutisson wrote:
>
> Hi John,
>
> This looks good to me. Nice cleanup!
>
> Two very minor white space issues:
>
> g1CollectorPolicy.cpp, line 1859 in the new code. There seem to be one 
> indentation level too much.
>
> g1CollectorPolicy.cpp, line 1931 in the new code. Should be a space 
> after the "," in the paramter list "(hr,gcs_are_young())"
>
> Ship it!
> Bengt
>
> On 2012-07-27 19:39, John Cuthbertson wrote:
>> 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