RFR(XXXS): 7168294: G1: Some Full GCs incorrectly report GC cause as "No GC"

John Cuthbertson john.cuthbertson at oracle.com
Fri May 11 22:37:21 UTC 2012


Hi Everyone,

Can I have a couple of volunteers review this code change? The webrev 
can be found at: http://cr.openjdk.java.net/~johnc/7168294/webrev.0/

Summary:
Basically the VM_G1CollectForAllocation VM operation was not setting the 
GC cause in the heap structure and so the cause would come out as "No 
GC". This one line change makes VM_G1CollectForAllocation match the 
other 'leaf' G1 VM operations.

Testing: GCOld

Before:

9.239: [Full GC (No GC) 128M->125M(128M), 9.0804393 secs]
18.837: [Full GC (No GC) 127M->127M(128M), 7.9413652 secs]
26.778: [Full GC (No GC) 127M->127M(128M), 7.9419157 secs]
34.731: [Full GC (No GC) 127M->127M(128M), 8.0385112 secs]
42.770: [Full GC (No GC) 127M->127M(128M), 7.9215393 secs]
50.702: [Full GC (No GC) 127M->127M(128M), 9.0424004 secs]
59.744: [Full GC (No GC) 127M->127M(128M), 7.9409172 secs]

After:

9.357: [Full GC (Allocation Failure) 128M->125M(128M), 9.1094425 secs]
18.976: [Full GC (Allocation Failure) 127M->127M(128M), 7.9846687 secs]
26.961: [Full GC (Allocation Failure) 127M->127M(128M), 7.9409885 secs]
34.913: [Full GC (Allocation Failure) 127M->127M(128M), 8.0551207 secs]
42.968: [Full GC (Allocation Failure) 127M->127M(128M), 7.9402328 secs]
50.919: [Full GC (Allocation Failure) 127M->127M(128M), 9.0121452 secs]
59.932: [Full GC (Allocation Failure) 127M->127M(128M), 7.9184263 secs]

Thanks,

JohnC



More information about the hotspot-gc-dev mailing list