<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <br>
    <div class="moz-cite-prefix">On 6/10/2015 5:51 PM, Tao Mao wrote:<br>
    </div>
    <blockquote
cite="mid:CANrGW1zN_M7F0JbTFUydSTwgJFEffMtvaH=Xf6K5kdsmzPJq9A@mail.gmail.com"
      type="cite">
      <div dir="ltr">I think David's right. Promoted objects and
        pretenured objects are different guys. This would resolve the
        second issue in the ticket JDK-7169803.</div>
    </blockquote>
    <br>
    Tao,<br>
    <br>
    How would you define each?<br>
    <br>
    Jon<br>
    <br>
    <blockquote
cite="mid:CANrGW1zN_M7F0JbTFUydSTwgJFEffMtvaH=Xf6K5kdsmzPJq9A@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div>Thanks.</div>
        <div>Tao Mao</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Wed, Jun 10, 2015 at 5:08 PM, Jon
          Masamitsu <span dir="ltr"><<a moz-do-not-send="true"
              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"><span
              class=""><br>
              <br>
              On 6/10/2015 1:30 AM, David Lindholm wrote:<br>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                Jon,<br>
                <br>
                Thanks for taking a look at this. No, I don't think this
                will lead to double counting. This calculation is
                already there, it is just buggy. Before this patch the
                code added the total amount of promoted memory this
                collection with the average size of the pretenured
                objects, and used this as a sample. Now the code adds
                the total amount of promoted memory with the total size
                of the pretenured objects since last collection, and
                uses this as a sample instead.<br>
              </blockquote>
              <br>
            </span>
            Aren't "promoted" and
            "total_pretenured_since_last_promotion()" approximately the
            same<br>
            thing?  In share/vm/gc/parallel/psScavenge.cpp<br>
            <br>
            489       size_t promoted = old_gen->used_in_bytes() -
            old_gen_used_before;<br>
            490     
             size_policy->update_averages(_survivor_overflow,
            survived, promoted);<br>
            <br>
            so "promoted" is the change in the old gen between the
            before and after the<br>
            young gen collection.<br>
            <br>
            "total_pretenured_size_last_promotion()" is<br>
            <br>
             258   void tenured_allocation(size_t size) {<br>
             259     _avg_pretenured->sample(size);<br>
             260     add_pretenured_since_last_promotion(size)<br>
            <br>
            <br>
            which seems to me to be calculating the same thing (sum of
            allocations into the old gen).<br>
            <br>
            Not so?<span class="HOEnZb"><font color="#888888"><br>
                <br>
                Jon</font></span>
            <div class="HOEnZb">
              <div class="h5"><br>
                <br>
                <blockquote class="gmail_quote" style="margin:0 0 0
                  .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  <br>
                  <br>
                  Thanks,<br>
                  David<br>
                  <br>
                  On 2015-06-09 21:37, Jon Masamitsu wrote:<br>
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    David,<br>
                    <br>
                    <a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Edavid/JDK-7169803/webrev.00/src/share/vm/gc/parallel/psAdaptiveSizePolicy.cpp.frames.html"
                      target="_blank">http://cr.openjdk.java.net/~david/JDK-7169803/webrev.00/src/share/vm/gc/parallel/psAdaptiveSizePolicy.cpp.frames.html</a>
                    <br>
                    <br>
                    1308   avg_promoted()->sample(promoted +
                    total_pretenured_since_last_promotion());<br>
                    <br>
                    <br>
                    Is including both "promoted" and
                    "total_pretenured_since_last_promotion()"<br>
                    double counting?<br>
                    <br>
                    Jon<br>
                    <br>
                    On 06/09/2015 02:06 AM, David Lindholm wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      Hi,<br>
                      <br>
                      Please review this patch that corrects the usage
                      of the pretenured value. There were 2 issues:
                      words and bytes were mixed up and the addition was
                      done with the wrong value. See bug for details.<br>
                      <br>
                      Webrev: <a moz-do-not-send="true"
                        href="http://cr.openjdk.java.net/%7Edavid/JDK-7169803/webrev.00/"
                        target="_blank">http://cr.openjdk.java.net/~david/JDK-7169803/webrev.00/</a><br>
                      Bug: <a moz-do-not-send="true"
                        href="https://bugs.openjdk.java.net/browse/JDK-7169803"
                        target="_blank">https://bugs.openjdk.java.net/browse/JDK-7169803</a><br>
                      <br>
                      <br>
                      Testing: Passed JPRT<br>
                      <br>
                      <br>
                      Thanks,<br>
                      David<br>
                    </blockquote>
                    <br>
                  </blockquote>
                  <br>
                </blockquote>
                <br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>