<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Times New Roman, Times, serif"><a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~tschatzl/8153507/webrev/src/share/vm/gc/g1/g1RemSet.cpp.frames.html">http://cr.openjdk.java.net/~tschatzl/8153507/webrev/src/share/vm/gc/g1/g1RemSet.cpp.frames.html</a><br>
      <br>
    </font><br>
    <span class="new">IsDirtyRegionState will probably always be a jbyte
      <br>
    </span>
    <pre><span class="new"> 161     memset(_in_dirty_region_buffer, Clean, _max_regions * sizeof(jbyte));

</span><span class="new"></span>
</pre>
    but maybe this would be appropriate<br>
    <br>
    <pre><span class="new"> 161     memset(_in_dirty_region_buffer, Clean, _max_regions * sizeof(</span><span class="new"><font color="#ff0000"><span class="new">IsDirtyRegionState</span></font>));</span></pre>
    <br>
    <span class="new">_cur_dirty_regions is the index of a single
      region, yes?  So the singular form </span><span class="new">_cur_dirty_region<br>
      is more accurate?<br>
      <br>
      Rest looks good.<br>
      <br>
      My two  points are minor so I don't need to see a new webrev (and<br>
      by inference, you can decide which way to go on both).<br>
      <br>
      Jon<br>
    </span>
    <pre><span class="new"></span></pre>
    <div class="moz-cite-prefix">On 04/28/2016 04:15 AM, Thomas Schatzl
      wrote:<br>
    </div>
    <blockquote cite="mid:1461842158.2484.25.camel@oracle.com"
      type="cite">
      <pre wrap="">Hi all,

  during performance measurements of the Card Table Clear task it has
been shown that the current way of distributing work is way too fine
grained. Threads are stalling most of the time on the atomic cmpxchg
during work distribution instead of doing work.

This change tries to fix this by changing the way how the "dirty"
regions are stored from a single linked list to a set of region
indices, where the usual claim-by-chunks technique can be applied.

Further using we can effectively limit the number of threads used by
the API introduced by JDK-8155232.

Third, by reorganizing the code into the g1RemSet files, clutter across
the g1 code is minimized.

CR:
<a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8153507">https://bugs.openjdk.java.net/browse/JDK-8153507</a>
Webrev:
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~tschatzl/8153507/webrev/">http://cr.openjdk.java.net/~tschatzl/8153507/webrev/</a>
Testing:
jprt, vm.gc testlist

Thanks,
  Thomas



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