<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Leonid,<br>
    <br>
    This looks good. I can sponsor and push the change but we need a
    Reviewer that looks at the change first.<br>
    <br>
    Thanks,<br>
    Stefan<br>
    <br>
    <div class="moz-cite-prefix">On 2014-11-26 15:56, Leonid Mesnik
      wrote:<br>
    </div>
    <blockquote cite="mid:5475EA19.4080004@oracle.com" type="cite">
      <meta content="text/html; charset=windows-1252"
        http-equiv="Content-Type">
      Stefan<br>
      <br>
      Thank you for reviewing fix. <br>
      <br>
      Here is update version:<br>
      <a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Esjohanss/lmesnik/8065579/hotspot.01/">http://cr.openjdk.java.net/~sjohanss/lmesnik/8065579/hotspot.01/</a><br>
      <br>
      I simplified test to be more robust. It tests only that we could
      start mark cycle after young/full GC and when concurrent mark
      cycle is not in progress. <br>
      <br>
      Leonid<br>
      <br>
      <div class="moz-cite-prefix">On 24.11.2014 15:23, Stefan Johansson
        wrote:<br>
      </div>
      <blockquote cite="mid:54732343.6000307@oracle.com" type="cite">
        <meta content="text/html; charset=windows-1252"
          http-equiv="Content-Type">
        Hi Leonid,<br>
        <br>
        I think the changes for making it possible to trigger a marking
        cycle through the WB API looks good. There are however some
        problems with the test.<br>
        ---<br>
          24         assertTrue(wb.g1StartConcMarkCycle());<br>
          25         wb.fullGC();<br>
          26         assertTrue(wb.g1StartConcMarkCycle());<br>
        <br>
        Here the test assumes that it should be able to trigger a new
        marking cycle since the Full-GC have aborted the previous one,
        but it is possible that the concurrent mark thread hasn't yet
        finished the cycle even if it has been aborted. That is, during
        cycle will return true for some time after the concurrent mark
        has been aborted.<br>
        ---<br>
          28         while (wb.g1InConcurrentMark()) {<br>
          29             assertFalse(wb.g1StartConcMarkCycle());<br>
          30         }<br>
          31 <br>
          32         assertTrue(wb.g1StartConcMarkCycle());<br>
          33 <br>
          34         while (wb.g1InConcurrentMark()) {<br>
          35             assertFalse(wb.g1StartConcMarkCycle());<br>
          36         }<br>
        <br>
        Here the problem is that we can't guarantee that the concurrent
        cycle won't finish just before the call to
        wb.g1StartConcMarkCycle(), and therefor the assert might fail. <br>
        ---<br>
        <br>
        I'm not sure how you want to improve the test to avoid these
        problems, the only really robust way I think is to only use the
        g1InConcurrentMark() call to wait until marking is finished and
        then assert that we can trigger a new cycle.<br>
        <br>
        Thanks,<br>
        Stefan<br>
        <br>
        <div class="moz-cite-prefix">On 2014-11-20 16:13, Leonid Mesnik
          wrote:<br>
        </div>
        <blockquote cite="mid:546E0530.4060904@oracle.com" type="cite">
          <meta http-equiv="content-type" content="text/html;
            charset=windows-1252">
          Hi<br>
          <br>
          Here is the fix which introduce WB method which stars
          concurrent mark cycle explicitly. It is needed to make CM
          cycle related tests more stable.<br>
          <br>
          Changeset also includes test and very small fix of WB method
          g1InConcurrentMark
          <meta http-equiv="content-type" content="text/html;
            charset=windows-1252">
          .<br>
          Fix pass JPRT with hotspot testset.<br>
          <br>
          JIRA: <a moz-do-not-send="true" class="moz-txt-link-freetext"
            href="https://bugs.openjdk.java.net/browse/JDK-8065579">https://bugs.openjdk.java.net/browse/JDK-8065579</a><br>
          Webrev: <a moz-do-not-send="true"
            class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Esjohanss/lmesnik/8065579/hotspot.00/">http://cr.openjdk.java.net/~sjohanss/lmesnik/8065579/hotspot.00/</a><br>
        </blockquote>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>