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

John Cuthbertson john.cuthbertson at oracle.com
Thu Jan 5 19:55:54 UTC 2012


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