RFR(S): 7121496: G1: do the per-region evacuation failure handling work in parallel

Tony Printezis tony.printezis at oracle.com
Fri Jan 6 08:51:52 UTC 2012


John,

Looks good, ship it asap. :-)

Tony

On 01/05/2012 02:55 PM, John Cuthbertson wrote:
> Hi Everyone,
>
> I have a new webrev for this CR based upon feedback from Tony and 
> Igor. The biggest difference is the moving of the closures and 
> abstract gang task that removes the self-forwared pointers into their 
> own header file.
>
> The new webrev can be found at: 
> http://cr.openjdk.java.net/~johnc/7121496/webrev.1/
>
> Thanks,
>
> JohnC
>
> On 12/23/2011 11:29 AM, John Cuthbertson wrote:
>> Hi Everyone,
>>
>> Can I have a couple of volunteers look of this set of changes? The 
>> webrev can be found at: 
>> http://cr.openjdk.java.net/~johnc/7121496/webrev.0/
>>
>> Summary:
>> The work that gets done for each heap region in the collection set, 
>> in the event of an evacuation failure, (e.g. removing self-forwarding 
>> pointers, updating the BOT etc.) was serial. I parallelized it by 
>> simply wrapping the work done for each region inside a HeapRegion 
>> closure, whose doHeapRegion method claims a region and does the work 
>> for that region. This HeapRegion closure is, in turn, wrapped in an 
>> AbstractGangTask.
>>
>> Testing: GC test suite with both deferred and immediate RSet updates 
>> (in some of the configurations - SPECjbb2000, SPECjbb2005, and 
>> GCBasher can experience a number of evacuation failures); Kitchensink 
>> with a forced evacuation failure mechanism.
>>
>> Thanks,
>>
>> JohnC
>>
>>
>



More information about the hotspot-gc-dev mailing list