RFR: 8152113: Remove _last_ditch_collection GC-cause and avoid expanding heap on Metaspace OOM

Bengt Rutisson bengt.rutisson at oracle.com
Fri Mar 18 11:26:36 UTC 2016

Hi Stefan,

On 2016-03-17 18:03, Stefan Johansson wrote:
> Hi,
> Please review this change for RFE:
> https://bugs.openjdk.java.net/browse/JDK-8152113
> Webrev:
> http://cr.openjdk.java.net/~sjohanss/8152113/hotspot.00/

Looks good.


> Summary:
> Prior to this patch the GC-cause _last_ditch_collection has been used 
> for 2 types of full-collections that clears soft references:
> 1. Last resort when out of metaspace memory
> 2. WhiteBox initiated full GC
> These have not much in common and the GC-cause is strangely named when 
> looking at its meaning. This cause also comes with an unwanted 
> side-effect, it will expand the heap if possible and this is strange 
> since it is not caused by a failed heap-allocation. This change 
> removes the _last_ditch_collection cause and now we instead use two 
> separate causes, _wb_full_gc for the WhiteBox-case and 
> _metadata_GC_clear_soft_refs for the out of metaspace case. The idea 
> is that these will work similar to _last_ditch_collection in every way 
> except when it comes to growing the heap.
> Testing:
> Run several tonga test-lists in RBT with G1, CMS and Parallel without 
> seeing any new issues.
> Thanks,
> Stefan

More information about the hotspot-gc-dev mailing list