RFR(S/M): 7112743: G1: Reduce overhead of marking closure during evacuation pauses

John Cuthbertson john.cuthbertson at oracle.com
Fri Nov 18 18:18:01 UTC 2011


Hi Everyone,

Can I have a couple of volunteers look over these changes? The webrev 
can be found at: http://cr.openjdk.java.net/~johnc/7112743/webrev.1/

Summary:
We have a workload where the serial "complete marking in collection set" 
closure was taking a realy long time and lengthening the pause times. 
Since this code might be going away at some point (see CR 6888336:  G1: 
avoid explicitly marking and pushing objects in survivor spaces) it was 
decided that a short term solution would be to parallelize the existing 
code and have the GC workers execute the code rather than the VM thread. 
Also included are some minor tweaks to the PrintGCDetails output to 
print out the mark closure time and the collection set freeing time 
(since some of the original code was moved there).

Testing: GC test suite (with 12 GC threads, makeing threshold of 5%, 
marking verification enabled, and heap verification after GC enabled); 
GC test suite on my workstation (4 GC threads, same flags as before); 
Kitchensink; specjbb2005 configured to have at leat 60% heap utilization.

Thanks,

JohnC



More information about the hotspot-gc-dev mailing list