RFR (M): JDK-8030177: G1: Enable TLAB resizing
Thomas Schatzl
thomas.schatzl at oracle.com
Mon Jan 13 12:14:23 UTC 2014
Hi,
On Thu, 2014-01-09 at 20:32 +0100, Bengt Rutisson wrote:
>
> 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.
threadLocalAllocBuffer.cpp:
line 83: typo: allcoation -> allocation
// These allcoation should ideally not be counted but since it is
not possible
Looks good. It's okay for me to just fix this without a re-review ;-)
Thomas
More information about the hotspot-gc-dev
mailing list