RFR: 7200229: NPG: possible performance issue exposed by closed/runtime/6559877/Test6559877.java

Mikael Gerdin mikael.gerdin at oracle.com
Thu Oct 18 04:33:32 PDT 2012


Hi,
In the Metaspace implementation that replaced perm gen for class meta 
data all allocations are made from "chunks". A ChunkManager is 
responsible for keeping track of all free chunks and currently there is 
a lot of verification of the free chunks by walking the linked lists 
that the free chunks are kept in.
In a situation where we create a lot of class loaders we will force the 
ChunkManager to allocate a lot of small chunks, this increases the 
verification overhead in debug builds. This can cause tests to time out 
because the verification calls become very expensive with a lot of free 
chunks.
We've never seen any of the free chunk verification asserts trigger so I 
propose that we disable the over-zealous verification and just add a 
verification call to Universe::verify to make it possible to turn on 
verification if needed.

Webrev: http://cr.openjdk.java.net/~mgerdin/7200229
Buglink: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7200229

Thanks
/Mikael

-- 
Mikael Gerdin
Java SE VM SQE Stockholm


More information about the hotspot-runtime-dev mailing list