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