<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Looks good!</div><div>/Jesper<br><br><br></div><div><br>18 aug 2015 kl. 03:29 skrev Eric Caspole <<a href="mailto:eric.caspole@oracle.com">eric.caspole@oracle.com</a>>:<br><br></div><blockquote type="cite"><div>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Hi everybody,<br>
Could I get reviews for this bug 8133349. <br>
This is assert is happening because the _survivor_chunk_array size
is based on a calculation from ThreadLocalAllocBuffer::min_size(),
but during a GC the PLAB::min_size() is used as the lower limit.<br>
<br>
These are different because the TLAB alignment_reserve() == 40
words, but the PLAB AlignmentReserve == 2 words which is from
oopDesc::header_size().<br>
<br>
So that means the _survivor_chunk_array is a little bit smaller than
will fit all the PLABs that could be allocated during a GC. <br>
<br>
Before the fix for <a href="https://bugs.openjdk.java.net/browse/JDK-8078904" title="CMS: Assert failed: Ctl pt invariant"><strike>JDK-8078904</strike></a>,
the _survivor_chunk_array was padded by 2x, not sure why, so this
situation never caused a problem. With the fix for <a href="https://bugs.openjdk.java.net/browse/JDK-8078904" title="CMS: Assert failed: Ctl pt invariant"><strike>JDK-8078904</strike></a>,
the _survivor_chunk_array is exactly sized to hold the PLABs.<br>
<br>
Bug:<br>
<a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8133349">https://bugs.openjdk.java.net/browse/JDK-8133349</a><br>
Webrev:<br>
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~ecaspole/JDK-8133349/01/webrev/">http://cr.openjdk.java.net/~ecaspole/JDK-8133349/01/webrev/</a><br>
<br>
Passes JPRT and many counts of PGC threads in the failing test,
which only was exposed in a certain Solaris situation.<br>
Thanks,<br>
Eric<br>
<br>
</div></blockquote></body></html>