<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Dima, thank you for reviewing!<br>
    <br>
    Could I have a reviewer's review on this change, please?<br>
    <br>
    Thanks,<br>
    Michail<br>
    <br>
    <div class="moz-cite-prefix">On 10/11/2016 15:15, Dmitry Fazunenenko
      wrote:<br>
    </div>
    <blockquote
      cite="mid:653845a6-9170-6d3f-cd7b-3e068195c261@oracle.com"
      type="cite">
      <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
      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>
    </blockquote>
    <br>
  </body>
</html>