FW: RFR(S): 8130434: [TESTBUG] Harden TestLargePageUseForAuxMemory for more page size combinations.

Thomas Schatzl thomas.schatzl at oracle.com
Mon Jul 20 10:10:31 UTC 2015


Hi Goetz,

On Mon, 2015-07-20 at 09:26 +0000, Lindenmaier, Goetz wrote:
Hi Thomas,
> 
> Thanks for picking this up!
> > I can sponsor the change.
> That's great, thank you.
> 
> > > We have a machine with page size = 64K and large page size 4M. 
> > > In this case heapSizeDiffForBitmap was too small to reduce the
> > > heap
size. 
> > > Due to the big value for the normal page size heap alignment is >
> > > largePageSize 
> > > and the heap size was aligned up to the original value. 
> > > Error: "'G1 'Prev Bitmap': pg_sz=65536' missing from
> > > stdout/stderr" 
> > > Fix: consider heap alignement for heapSizeDiffForBitmap.
> >
> > I am possibly missing something here:
> >
> > So page size is 64k, large page size 4M.
> >
> > In this case, heapSizeForBitmapUsingLargePages = 4M * 64 = 256M,
> > and
> > heapSizeDiffForBitmap is (assuming allocGranularity = page
> > size = 64k), 
> >
> >   max(4M (=64k * 64), 1M, 4M)
> >
> > = 4M, which does not seem to be an issue?
> >
> > Further, the use of lcm indicates that the actual reason is that in
> > some
of your setups, small-page-size * card size > largePageSize? It
> > is
possible, so this is just another try to make the test more
> > robust?
> 
> To find out the heap alignment, I must do the same as is done in the
VM.
> The lcm stems from collectorPolicy.cpp:181,
CollectorPolicy::compute_heap_alignment()
> The VM runs with heap alignment 512*64K = 32M.
> 
> You are correct, the old test used heapSizeDiffForBitmap = 4M.
> So test case6 does: heapSizeForBitmapUsingLargePages -
heapSizeDiffForBitmap is 252M.  Because of 
> the large heap alignment, this was rounded up by the VM to 256 again,
failing the test.  Actually, 
> it falls back to test case4.
> 
> After my fix, 
> heapSizeDiffForBitmap = 32M.
> heapSizeForBitmapUsingLargePages - heapSizeDiffForBitmap is 224M
> and the VM comes up with that heap size, passing the test.
> 
  I overlooked the card table alignment requirement. With 64k small page
size this is 32M...

Looks good.

I will wait a bit until pushing, maybe someone else has some time
looking at this.

Thanks,
  Thomas





More information about the hotspot-gc-dev mailing list