RFR: 7200229: NPG: possible performance issue exposed by closed/runtime/6559877/Test6559877.java
Mikael Gerdin
mikael.gerdin at oracle.com
Thu Oct 18 11:33:32 UTC 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-gc-dev
mailing list