RFR(XXXS): 8000311: G1: ParallelGCThreads==0 broken
John Cuthbertson
john.cuthbertson at oracle.com
Tue Oct 2 21:15:56 UTC 2012
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