<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Ramki,<br>
<br>
Thanks for the review. Using the containing heap or generation to bound
the PLAB sizes is a good idea. I agree that it would be better to do
the work under a separate CR - I'll submit an RFE.<br>
<br>
JohnC<br>
<br>
On 08/02/12 11:24, Srinivas Ramakrishna wrote:
<blockquote
 cite="mid:CABzyjyma040rx+8GrPjXCvxB+FzVke2jQJZTEsn7SO9u9a053w@mail.gmail.com"
 type="cite">Hi John, Brandon --<br>
  <br>
This looks good to me.<br>
  <br>
One improvement that could be made (but which predates any of these
changes) is that the ParGCAllocBuffer's min_size() and max_size()<br>
just return the lower and upper bounds set for TLAB's. Rather these
should be set (perhaps statically if that is possible) by the
containing heap or generation.<br>
The PLAB sizing calculation already does the requisite clipping, so if
the min and max sizes were properly configured you would likely not
need to do the clipping from<br>
above that you now have to do to keep G1's ergonomic PLAB sizes from
becoming humongous.<br>
  <br>
But that can be a separate reorg sice it will touch a bit more code.<br>
  <br>
Otherwise this looks great!<br>
  <br>
thanks.<br>
-- ramki<br>
  <br>
  <div class="gmail_quote">On Wed, Aug 1, 2012 at 2:11 PM, John
Cuthbertson <span dir="ltr"><<a moz-do-not-send="true"
 href="mailto:john.cuthbertson@oracle.com" target="_blank">john.cuthbertson@oracle.com</a>></span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi
Everyone,<br>
    <br>
Can I have a couple of volunteers review the changes for this CR? The
webrev can be found at: <a moz-do-not-send="true"
 href="http://cr.openjdk.java.net/%7Ejohnc/6818524/webrev.0/"
 target="_blank">http://cr.openjdk.java.net/~johnc/6818524/webrev.0/</a>.
These changes have been contributed by Brandon Mitchell (at Twitter).<br>
    <br>
Summary:<br>
PLABStats instances are now employed in G1 to record information about
old and young PLABs, and they are then used to adjust the PLAB sizes
for the next GC. As a result the ResizePLAB flag is now being observed
by G1. The previous behavior (and PLAB sizes) can be obtained by
specifying -XX:-ResizePLAB.<br>
    <br>
With these changes I see just over a net 1% performance gain, on our
reference workload, when running with G1.<br>
    <br>
Testing:<br>
GC test suite with and without ResizePLAB and PrintPLAB enabled to
observe the changes in PLAB sizes; reference workload on multiple
platforms; jprt.<br>
    <br>
Thanks,<br>
    <br>
JohnC<br>
  </blockquote>
  </div>
  <br>
</blockquote>
<br>
</body>
</html>