<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 07/21/2016 06:57 AM, Thomas Schatzl
      wrote:<br>
    </div>
    <blockquote cite="mid:1469109476.4338.25.camel@oracle.com"
      type="cite">
      <pre wrap="">Hi Jon,

On Thu, 2016-07-21 at 06:48 -0700, Jon Masamitsu wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">
On 7/21/2016 1:20 AM, Thomas Schatzl wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">
Hi Jon,

On Wed, 2016-07-20 at 20:43 -0700, Jon Masamitsu wrote:
</pre>
          <blockquote type="cite">
            <pre wrap="">
It's ready again.

Delta: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~jmasa/8159073/webrev_delta_01_">http://cr.openjdk.java.net/~jmasa/8159073/webrev_delta_01_</a>
02/
Full: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~jmasa/8159073/webrev.02/">http://cr.openjdk.java.net/~jmasa/8159073/webrev.02/</a>

</pre>
          </blockquote>
          <pre wrap="">   this looks good, except for the two log messages. They seem to
be
superfluous because first the callers of run_task(, uint) already
print
mostly the same message, and the given code guarantee's that
whatever
is printed anyway. Further, a single invocation of run_task will
now
trigger three messages basically telling the same.

So I would prefer if these messages were either moved to trace
level,
or just removed.

Thanks a lot for your patience with me, :)
   Thomas
</pre>
        </blockquote>
        <pre wrap="">I deleted the log messages.

--- a/src/share/vm/gc/shared/workgroup.cpp
+++ b/src/share/vm/gc/shared/workgroup.cpp
@@ -272,11 +272,9 @@
              task->name(), num_workers, total_workers());
    guarantee(num_workers > 0, "Trying to execute task %s with zero 
workers", task->name());
    uint old_num_workers = _active_workers;
-  log_debug(gc)("run_task: updating active workers for %s from %u
to 
%u", task->name(), old_num_workers, num_workers);
    update_active_workers(num_workers);
    guarantee(_active_workers == num_workers, "active workers %u 
num_workers %u", _active_workers, num_workers);
    _dispatcher->coordinator_execute_on_workers(task, num_workers);
-  log_debug(gc)("run_task: restoring active workers from %u to %u", 
num_workers, old_num_workers);
    update_active_workers(old_num_workers);
  }

Delta: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~jmasa/8159073/webrev_delta_02_03/">http://cr.openjdk.java.net/~jmasa/8159073/webrev_delta_02_03/</a>
Full: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~jmasa/8159073/webrev.03/">http://cr.openjdk.java.net/~jmasa/8159073/webrev.03/</a>

Thanks.
</pre>
      </blockquote>
      <pre wrap="">
  looks good, ship it :) 
</pre>
    </blockquote>
    <br>
    When I ran tests which injected  thread creation failure, this<br>
    guarantee failed.<br>
    <br>
    diff --git a/src/share/vm/gc/shared/workgroup.cpp
    b/src/share/vm/gc/shared/workgroup.cpp<br>
    --- a/src/share/vm/gc/shared/workgroup.cpp<br>
    +++ b/src/share/vm/gc/shared/workgroup.cpp<br>
    @@ -276,7 +276,6 @@<br>
       guarantee(num_workers > 0, "Trying to execute task %s with
    zero workers", task->name());<br>
       uint old_num_workers = _active_workers;<br>
       update_active_workers(num_workers);<br>
    <font color="#ff0000">-  guarantee(_active_workers == num_workers,
      "active workers %u num_workers %u", _active_workers, num_workers);</font><br>
       _dispatcher->coordinator_execute_on_workers(task,
    num_workers);<br>
       update_active_workers(old_num_workers);<br>
     }<br>
    <br>
    "num_workers" was 2 and the update_active_workers() failed to create
    an<br>
    additional thread so "_active_workers" remained at 1.  I deleted the
    guarantee.<br>
    <br>
    <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~jmasa/8159073/webrev_delta_03_04/">http://cr.openjdk.java.net/~jmasa/8159073/webrev_delta_03_04/</a><br>
    <br>
    Jon<br>
    <br>
    <blockquote cite="mid:1469109476.4338.25.camel@oracle.com"
      type="cite">
      <pre wrap="">

Thanks,
  Thomas

</pre>
    </blockquote>
    <br>
  </body>
</html>