RFR(XXXS): 8000311: G1: ParallelGCThreads==0 broken

Jon Masamitsu jon.masamitsu at oracle.com
Tue Oct 2 22:00:07 UTC 2012


John,

Looks good.  Thanks for the extra changes.

Jon

On 10/02/12 14:15, John Cuthbertson wrote:
> Hi Everyone,
>
> Here's a new webrev based upon Jon's feedback: 
> http://cr.openjdk.java.net/~johnc/8000311/webrev.1/
>
> In addition to his idea of passing the number of worker threads to the 
> (caller of) PLABStats::adjust_desired_plab_sz(), I also pass it into 
> the G1 reference processing and enqueuing routines.
>
> Testing:
> specjvm98/dacapo2006 w/ G1, ParallelGCThreads=0, heap verification
> specjvm98/dacapo2006 w/ G1, ParallelGCThreads=n, heap verification
> specjvm98/dacapo2006 w/ G1, ParallelGCThreads=n, heap verification, 
> +ParallelRefProcEnabled
> specjvm98/dacapo2006 w/ ParNew, ParallelGCThreads=n, heap verification
>
> Thanks,
>
> JohnC
>
>
> On 10/01/12 15:52, Jon Masamitsu wrote:
>> John,
>>
>> Would you mind passing in the no_of_gc_workers into
>> adjust_desired_plab_sz()?
>>
>> G1CollectedHeap::evacuate_collection_set()
>>     release_gc_alloc_regions(n_workers)
>>         _survivor_plab_stats.adjust_desired_plab_sz(no_of_gc_workers);
>>         _old_plab_stats.adjust_desired_plab_sz(no_of_gc_workers);
>>
>>
>> ParNewGeneration::collect()
>>     adjust_desired_plab_sz(n_workers)
>>
>> Jon
>>
>> On 10/01/12 14:58, John Cuthbertson wrote:
>>> Hi Everyone,
>>>
>>> Can I have a couple of volunteers look over the changes for this 
>>> fix? The webrev can be found at: 
>>> http://cr.openjdk.java.net/~johnc/8000311/webrev.0/
>>>
>>> Summary:
>>> While testing the changes for another CR, I ran into this divide by 
>>> zero error. I decided to make a separate CR so that the change can 
>>> be backported to hs24 - which also has the issue.
>>>
>>> Testing:
>>> The original test case with and without PGCT=0 and PrintPLAB enabled.
>>>
>>> Thanks,
>>>
>>> JohnC
>



More information about the hotspot-gc-dev mailing list