<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Michail,<br>
    <br>
    thanks for explanation. <br>
    Your fix looks good to me now.<br>
    <br>
    -- Dima<br>
    <br>
    <div class="moz-cite-prefix">On 11/10/2016 2:25 PM, Michail Chernov
      wrote:<br>
    </div>
    <blockquote
      cite="mid:8b32dc3d-f1fe-8e13-c5bf-5499d5ef8b47@oracle.com"
      type="cite">
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      <font size="+1"><tt>Hi Dima,</tt><tt><br>
        </tt><tt><br>
        </tt><tt>Thanks for your answer.
          ExplicitGCInvokesConcurrent=true is used in CMS and G1
          ([1][2]). CMS ends with concurrent phases, G1 ends with STW
          phases [3][4]. Performance counters are updated in
          TraceMemoryManagerStats::~TraceMemoryManagerStats() which is
          invoked in G1CollectedHeap::do_full_collection() and
          CMSCollector::sweep(). So I don't see any reason why we should
          don't execute this test with G1 and
          ExplicitGCInvokesConcurrent=true. I'd like to keep requires as
          in this change. Furthermore I have a change for WhiteBox to
          retreive CMS state (is in idling or not)[5], which can allow
          this test run with CMS and ExplicitGCInvokesConcurrent, but it
          targeted to 10.</tt><tt><br>
        </tt><tt><br>
        </tt><tt>[1]
          hotspot/src/share/vm/gc/shared/genCollectedHeap.cpp:309  bool
          GenCollectedHeap::should_do_concurrent_full_gc(GCCause::Cause
          cause)</tt><tt><br>
        </tt><tt>[2] hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp:2172
          bool 
          G1CollectedHeap::is_user_requested_concurrent_full_gc(GCCause::Cause
          cause)</tt><tt><br>
        </tt><tt>[3] <a moz-do-not-send="true"
            class="moz-txt-link-freetext"
href="http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html">http://www.oracle.com/technetwork/tutorials/tutorials-1876574.html</a></tt><tt><br>
        </tt><tt>[4] <a moz-do-not-send="true"
            class="moz-txt-link-freetext"
href="https://blogs.oracle.com/jonthecollector/entry/hey_joe_phases_of_cms">https://blogs.oracle.com/jonthecollector/entry/hey_joe_phases_of_cms</a></tt><tt><br>
        </tt><tt>[5] <a moz-do-not-send="true"
            class="moz-txt-link-freetext"
            href="https://bugs.openjdk.java.net/browse/JDK-8169510">https://bugs.openjdk.java.net/browse/JDK-8169510</a></tt></font><br>
      <br>
      <div class="moz-cite-prefix">On 10/11/2016 12:47, Dmitry
        Fazunenenko wrote:<br>
      </div>
      <blockquote
        cite="mid:b218241b-eb17-e043-2ede-bde19280e23a@oracle.com"
        type="cite">Hi Michail, <br>
        <br>
        I think this test is not designed to work in
        ExplicitGCInvokesConcurrent=true. <br>
        So, I would require: <br>
        Â * @requires vm.opt.ExplicitGCInvokesConcurrent != true <br>
        <br>
        Thanks, <br>
        Dima <br>
        <br>
        On 11/9/2016 7:44 PM, Michail Chernov wrote: <br>
        <blockquote type="cite">Hi, <br>
          <br>
          Could I have a reviews for this small change which excludes
          test run with CMS and -XX:+ExplicitGCInvokesConcurrent,
          please? <br>
          <br>
          <a moz-do-not-send="true" class="moz-txt-link-freetext"
            href="https://bugs.openjdk.java.net/browse/JDK-8165955">https://bugs.openjdk.java.net/browse/JDK-8165955</a>
          <br>
          <a moz-do-not-send="true" class="moz-txt-link-freetext"
            href="http://cr.openjdk.java.net/%7Emchernov/8165955/webrev.00/">http://cr.openjdk.java.net/~mchernov/8165955/webrev.00/</a>
          <br>
          <br>
          Test fails because CMS with -XX:+ExplicitGCInvokesConcurrent
          causes to java's threads unlocking before
          CMSCollector::sweep() has been done. So the GC counters can be
          updated after test gets their value. <br>
          <br>
          Thanks, <br>
          Michail <br>
        </blockquote>
        <br>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>