RFR (S) 8072693: [BACKOUT] GCCause should distinguish jcmd GC.run from System.gc()

Mikael Gerdin mikael.gerdin at oracle.com
Fri Feb 6 15:10:31 UTC 2015


Hi all,

There are some problems with the Diagnostic Command GCCause change, I 
suggest that we back out the change and reconsider its implementation.

[from the bug]
The change is incomplete since several places in the GC code assumes 
that explicit gcs have the _java_lang_system_gc GCCause value in order 
to determine the behavior.
For example:
ParallelGC does not apply policy decisions on user-invoked GCs (decided 
by the GCCause)
G1/CMS honors +ExplicitGCInvokesConcurrent based on the GCCause setting.
This could cause problems for people expecting concurrent gcs when 
running the diagnostic command instead of a possibly several-second full 
gc pause.

Bug: https://bugs.openjdk.java.net/browse/JDK-8072693
Webrev: http://cr.openjdk.java.net/~mgerdin/8072693/webrev.0/

/Mikael


More information about the hotspot-gc-dev mailing list