Request for Review (s) - 8060463: ParNew: SurvivorAlignmentInBytes greater then YoungPLABSize cause assert(obj != NULL || plab->words_remaining() < word_sz) failed: Else should have been able to allocate

Jon Masamitsu jon.masamitsu at oracle.com
Thu Mar 24 17:26:38 UTC 2016



On 3/24/2016 9:13 AM, sangheon wrote:
> Hi Jon,
>
> On 03/24/2016 09:00 AM, Jon Masamitsu wrote:
>> Thanks Sangheon, Thomas, and Michail. Latest versions:
>>
>> Delta
>> http://cr.openjdk.java.net/~jmasa/8060463/webrev_delta.00_01/
> Thank you for fixing these.
> BTW, could you add a comma in front of 'PLAB size' as well?
Fixed.

> And as the test is a new one, I think just '2016' seems correct not 
> '2014, 2016'.

Fixed.

Thanks again.

Jon

> I don't need a new webrev for these.
>
> Thanks,
> Sangheon
>
>
>>
>> Full
>> http://cr.openjdk.java.net/~jmasa/8060463/webrev.01/index.html
>>
>> Jon
>>
>>
>> On 3/20/2016 8:04 PM, Jon Masamitsu wrote:
>>> If SurvivorAlignmentInBytes is larger than the size of the promotion
>>> LAB an allocation aligned to SurvivorAlignmentInBytes  may fail. The
>>> allocation of the PLAB depends of the size of the object being
>>> allocated and if the PLAB is successfully allocated the allocation
>>> of the object should succeeded (and is checked by an assertion).
>>> For alignments larger than  PLAB, a larger PLAB is sometimes needed
>>> to allow for the alignment.
>>>
>>> The fix does not try to avoid the need for a new PLAB at the
>>> next promotion by making the PLAB even larger.  The large
>>> values of SurvivorAlignmentInBytes  are allowed but not
>>> expected.  I chose not to make the PLAB even larger for a
>>> situation I don't expect to see in practice.
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8060463
>>> http://cr.openjdk.java.net/~jmasa/8060463/webrev.00/
>>>
>>> Tested with the newly added test which check a range
>>> of SurvivorAlignmentInBytes values.
>>>
>>> Thanks.
>>>
>>> Jon
>>
>



More information about the hotspot-gc-dev mailing list