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