<div dir="ltr">Thank _you_ Jon, for this fix to such a long-standing problem, and to the original reporter for bringing this to the team's notice with such a nice test case!<div><br></div><div>-- ramki</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 10, 2015 at 1:50 PM, Jon Masamitsu <span dir="ltr"><<a href="mailto:jon.masamitsu@oracle.com" target="_blank">jon.masamitsu@oracle.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Ramki,<span class=""><br>
    <br>
    <div>On 09/10/2015 12:05 AM, Srinivas
      Ramakrishna wrote:<br>
    </div>
    </span><blockquote type="cite">
      <div dir="ltr">Hi Jon --
        <div><br>
        </div><span class="">
        <div>Sorry again for the delay in looking at the second version
          of your fix. I had a look at that second fix. I do like the
          simplificatio</div>
        <div>of the loop that finds the first power block to fix, but I
          think the rest of the code is, at least to me, clearer in the
          first fix that you have.
          <div><br>
          </div>
          <div>Thus, I am more inclined to support going with the first
            fix, rather than the second, unless you feel very strongly
            otherwise, in which</div>
          <div>case I will take a second look at your second fix and
            perhaps suggest further changes. Let me know if you want to
            go that route,</div>
          <div>rather than going with the minimal first fix.</div>
        </div>
      </span></div>
    </blockquote>
    <br>
    I'll use the minimal fix.<span class=""><br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div><br>
          </div>
          <div>Also, it might be nice to backport this fix to JDK 8 if
            possible, since applications that use CMS and allocate large
            objects may run into</div>
          <div>this performance problem. (e.g. We have recently had a
            case where this seems to have contributed to a slight slow
            down in</div>
          <div>ParNew -- nothing as dramatic as that demonstrated by the
            test case in the companion ticket, but still sufficiently
            large and</div>
          <div>long-lasting to be of concern.)</div>
        </div>
      </div>
    </blockquote>
    <br></span>
    The process is fuzzy in my mind but I don't think<br>
    there is going to be another 8 update release (which<br>
    is the easy path for a bug fix) so a backport might<br>
    require an escalation to get the sustaining organization<br>
    involved.<br>
    <br>
    Thanks for the review.<span class="HOEnZb"><font color="#888888"><br>
    <br>
    Jon</font></span><div><div class="h5"><br>
    <br>
    <br>
    <br>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>thanks!</div>
          <div>-- ramki</div>
          <div><br>
          </div>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Mon, Aug 31, 2015 at 9:25 AM,
          Srinivas Ramakrishna <span dir="ltr"><<a href="mailto:ysr1729@gmail.com" target="_blank"></a><a href="mailto:ysr1729@gmail.com" target="_blank">ysr1729@gmail.com</a>></span> wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">Hi Jon --
              <div><br>
              </div>
              <div>Sorry for the looong delay in getting to this and
                then of turning around the webrev once I started looking
                at the code.</div>
              <div>It's been a while since I was in this code, and the
                code is quite complicated, so it took a while to swap
                back</div>
              <div>the context and understand (the correctness of) the
                change.</div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div class="gmail_extra"><br>
                <div class="gmail_quote"><span>On Mon, Jun 22,
                    2015 at 12:57 PM, Jon Masamitsu <span dir="ltr"><<a href="mailto:jon.masamitsu@oracle.com" target="_blank"></a><a href="mailto:jon.masamitsu@oracle.com" target="_blank">jon.masamitsu@oracle.com</a>></span>
                    wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This
                      bug is causing large young GC times for ParNew
                      when<br>
                      there are large objects in the heap and the
                      logarithmic strides<br>
                      are being used (badly).<br>
                      <br>
                      <a href="https://bugs.openjdk.java.net/browse/JDK-8081629" rel="noreferrer" target="_blank">https://bugs.openjdk.java.net/browse/JDK-8081629</a><br>
                      <br>
                      The change in webrev_min corrects the problem<br>
                      with the minimum code change (least risk).<br>
                      <br>
                      <a href="http://cr.openjdk.java.net/%7Ejmasa/8081629/webrev_min.02/" rel="noreferrer" target="_blank">http://cr.openjdk.java.net/~jmasa/8081629/webrev_min.02/</a></blockquote>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                  </span>
                  <div>The above changes look good to me. Thanks also
                    for confirming that these</div>
                  <div>changes fix the assertion failure seen with
                    +VerifyBlockOffsetArray. It might be</div>
                  <div>worthwhile writing (in the future) a slightly
                    more lightweight VerifyBlockOffsetArray</div>
                  <div>so that it becomes practical to use.</div>
                  <div><br>
                  </div>
                  <div>I haven't had the opportunity to look at and
                    understand the second version of the</div>
                  <div>webrev below yet. But the one above looks good to
                    me. I'll try and get to the</div>
                  <div>version below in the next day or so. Sorry for
                    the ongoing delay.</div>
                  <div><br>
                  </div>
                  <div>thanks!</div>
                  <div>-- ramki (openjdk: ysr)</div>
                  <span>
                    <div><br>
                    </div>
                    <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
                      <br>
                      A rewriting of split_block() in included in a
                      second webrev<br>
                      <br>
                      <a href="http://cr.openjdk.java.net/%7Ejmasa/8081629/webrev.02/" rel="noreferrer" target="_blank">http://cr.openjdk.java.net/~jmasa/8081629/webrev.02/</a><br>
                      <br>
                      I've willing to go with the minimum change but
                      could also<br>
                      be encouraged to push the rewrite of
                      split_block().<br>
                      <br>
                      Vote for the one you like with your code review.<br>
                      <br>
                      The diff between webrev_min.02 and webrev.02 is<br>
                      here but I don't find it that useful.<br>
                      <br>
                      <a href="http://cr.openjdk.java.net/%7Ejmasa/8081629/webrev_delta.02/" rel="noreferrer" target="_blank">http://cr.openjdk.java.net/~jmasa/8081629/webrev_delta.02/</a><br>
                      <br>
                      Thanks.<span><font color="#888888"><br>
                          <br>
                          Jon<br>
                        </font></span></blockquote>
                  </span></div>
                <br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </div></div></div>

</blockquote></div><br></div>