Request for Review (s) - 7012980: PSOldGen is increased if there is no space in Metaspace
Kim Barrett
kim.barrett at oracle.com
Fri May 8 20:26:49 UTC 2015
On May 8, 2015, at 11:58 AM, Jon Masamitsu <jon.masamitsu at oracle.com> wrote:
>
> When full collections were being done because the Metaspace threshold was
> reached, the Java heap was being expanded. Changed the test for expanding
> the Java heap to check that the GCCause was for a full old gen or for adaptive
> size policy which is done in anticipation that a full GC will be needed before
> the next young gen collection.
>
> This change is done in two parts: the fix for this bug and a cleanup
> to add the GCCause::is_system_gc(). This can be pushed separately
> if desired.
>
> http://cr.openjdk.java.net/~jmasa/7012980/webrev.fix.00/
> http://cr.openjdk.java.net/~jmasa/7012980/webrev.is_system_gc.00/
>
> https://bugs.openjdk.java.net/browse/JDK-7012980
>
> Stability tested product and debug with gc_test_suite. Performance tested
> with specjbb2000 and specjbb2005 with and without MetaspaceSize set to
> generate some Metaspace threshold caused full GC's.
>
> Thanks.
>
> Jon
webrev.is_system_gc.00 looks good.
webrev.fix.00:
------------------------------------------------------------------------------
src/share/vm/gc_interface/gcCause.hpp
93 assert(cause != GCCause::_old_generation_too_full_to_scavenge &&
94 cause != GCCause::_old_generation_expanded_on_last_scavenge,
95 err_msg("This GCCause may be correct but is not expected yet: %s",
96 to_string(cause)));
The err_msg expression is oddly indented.
Does this mean there is a plan to actually use those two causes? If
not, then how about removing them, rather than checking for them.
There presently appear to be no real uses of them.
------------------------------------------------------------------------------
More information about the hotspot-gc-dev
mailing list