RFR(S): 6818524: G1: use ergonomic resizing of PLABs
John Cuthbertson
john.cuthbertson at oracle.com
Mon Aug 6 18:10:08 UTC 2012
Hi Ramki,
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.
JohnC
On 08/02/12 11:24, Srinivas Ramakrishna wrote:
> 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 <mailto: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/20120806/12ed3c82/attachment.htm>
More information about the hotspot-gc-dev
mailing list