RFR(S): 6818524: G1: use ergonomic resizing of PLABs
Srinivas Ramakrishna
ysr1729 at gmail.com
Thu Aug 2 18:24:40 UTC 2012
Hi John, Brandon --
This looks good to me.
One improvement that could be made (but which predates any of these
changes) is that the ParGCAllocBuffer's min_size() and max_size()
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.
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
above that you now have to do to keep G1's ergonomic PLAB sizes from
becoming humongous.
But that can be a separate reorg sice it will touch a bit more code.
Otherwise this looks great!
thanks.
-- ramki
On Wed, Aug 1, 2012 at 2:11 PM, John Cuthbertson <
john.cuthbertson at oracle.com> wrote:
> Hi Everyone,
>
> Can I have a couple of volunteers review the changes for this CR? The
> webrev can be found at: http://cr.openjdk.java.net/~**
> johnc/6818524/webrev.0/<http://cr.openjdk.java.net/%7Ejohnc/6818524/webrev.0/>.
> These changes have been contributed by Brandon Mitchell (at Twitter).
>
> Summary:
> 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.
>
> With these changes I see just over a net 1% performance gain, on our
> reference workload, when running with G1.
>
> Testing:
> GC test suite with and without ResizePLAB and PrintPLAB enabled to observe
> the changes in PLAB sizes; reference workload on multiple platforms; jprt.
>
> Thanks,
>
> JohnC
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20120802/e237e810/attachment.htm>
More information about the hotspot-gc-dev
mailing list