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 15:14:24 UTC 2016
Sangheon,
Thanks for the review.
On 3/23/2016 4:55 PM, sangheon wrote:
> Hi Jon,
>
> Looks good to me.
>
> I have some minor comments.
> http://cr.openjdk.java.net/~jmasa/8060463/webrev.00/src/share/vm/gc/cms/parNewGeneration.cpp.frames.html
>
> 261 SIZE_FORMAT " PLab size " SIZE_FORMAT "
> SurvivorAlignmentInBytes "
> 1. Instead of 'PLab', how about 'PLAB' or 'plab'?
Changed to PLAB.
>
> 2. How about adding comma or bracket at the modified log messages for
> values for better readability?
Added commas.
>
> 3. If you care about the copyright year, please update the newly added
> test's one.
Fixed.
I'll send out a new webrev shortly.
Jon
>
> Thanks,
> Sangheon
>
>
> On 03/20/2016 08: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