RFR (M): JDK-8030177: G1: Enable TLAB resizing
Bengt Rutisson
bengt.rutisson at oracle.com
Thu Jan 9 19:32:34 UTC 2014
Hi everyone,
Can I have a couple of reviews for this change?
http://cr.openjdk.java.net/~brutisso/8030177/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8030177
Unlike the other collectors G1 did not use dynamic sizes for the TLABs
that the Java threads use for allocation. That means that the TLABs when
using G1 were all fixed size and very small. This patch adds dynamic
sizing of TLABs to G1 too. In performance testing this has shown a 2-3%
improvement across a range of benchmarks.
One difference compared to other collectors is that the maximum TLAB
size in G1 has to be limited by the region size and not by the eden
size. Also, for the other collectors the used space for TLAB allocation
was deducted from the maximum TLAB size because this was essentially
what was left in eden. That is an assumption that happened to work out,
but it kind of breaks the abstraction. So, the method CollectedHeap::
tlab_used() has been added to be more consistent about the TLAB
abstraction and to make it more straight forward to implement in G1.
Thanks,
Bengt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20140109/1a6d1f0e/attachment.htm>
More information about the hotspot-gc-dev
mailing list