RFR (XS) 8212005: Epsilon elastic TLAB sizing may cause misalignment

Per Liden per.liden at oracle.com
Thu Oct 11 09:48:25 UTC 2018


Hi,

On 10/10/2018 04:43 PM, Aleksey Shipilev wrote:
> Bug:
>    https://bugs.openjdk.java.net/browse/JDK-8212005
> 
> I thought we handle it properly, but we are not. This causes tier1_gc failures in x86_32 now.
> 
> Fix:
>    http://cr.openjdk.java.net/~shade/8212005/webrev.01/

I think you want to make sure that _max_tlab_size also ends up being 
aligned to MinObjectAlignment here:

   50   _max_tlab_size = MIN2(CollectedHeap::max_tlab_size(), 
EpsilonMaxTLABSize / HeapWordSize);

Otherwise you risk allocating a TLAB larger than _max_tlab_size here:

  214   // Always honor boundaries
  215   size = MAX2(min_size, MIN2(_max_tlab_size, size));
  216
  217   // Always honor alignment
  218   size = align_up(size, MinObjAlignment);

Right?

cheers,
Per

> 
> Testing: Linux {x86_64, x86_32} gc/epsilon, jdk-submit (running)
> 
> Thanks,
> -Aleksey
> 


More information about the hotspot-gc-dev mailing list