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

Thomas Schatzl thomas.schatzl at oracle.com
Fri Feb 6 15:23:42 UTC 2015


Hi Mikael,

On Fri, 2015-02-06 at 16:10 +0100, Mikael Gerdin wrote:
> 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/

  looks like a clean inverse of the original change
(http://hg.openjdk.java.net/jdk9/hs-gc/hotspot/rev/5abc906fe3a8). Ship
it :)

Thanks,
  Thomas





More information about the hotspot-gc-dev mailing list