RFR: 8027960: Assertion assert(end >= start) failed during nightly testing on solaris

Jon Masamitsu jon.masamitsu at oracle.com
Mon Nov 11 23:24:16 UTC 2013


Thomas,

Yes, your suggestion for handling the missing code with
an RFE is fine.

Jon

On 11/11/13 12:46 PM, Thomas Schatzl wrote:
> Hi,
>
> On Mon, 2013-11-11 at 12:06 -0800, Jon Masamitsu wrote:
>> On 11/11/13 1:02 AM, Thomas Schatzl wrote:
>>> Hi Jon,
>>>
>>> On Fri, 2013-11-08 at 10:52 -0800, Jon Masamitsu wrote:
>>>> Stefan,
>>>>
>>>> Change looks good.
>>>>
>>>> There are _gen_alignments and _space_alignments in CollectorPolicy.
>>>> Where those are initialized there is no calculation of a new_alignment
>>>> based on page size.  For example,
>>>>
>>>> void MarkSweepPolicy::initialize_alignments() {
>>>>      _space_alignment = _gen_alignment = (uintx)Generation::GenGrain;
>>>>      _heap_alignment = compute_heap_alignment();
>>>> }
>>>>
>>>> Should those places be calculating and using a new_alignment?
>>>     I am not completely sure what the question is, and whether Jesper's
>>> reply already replied or not, but as far as I can tell the question
>>> seems to be why the MarkSweepPolicy (for serial gc) does not take page
>>> size into account for space and generation alignment.
>> Yes.  That's basically the question.  The change was made for
>> ParallelGC.   Were similar changes needed elsewhere.
> I do not know if similar changes are exactly "needed", but imo it would
> be good for the other collectors too.
>
>>> As far as I know, only Parallel GC ever did that as it is also the only
>>> collector that is NUMA aware, so I assume this is the reason why that
>>> collector does. All collectors align the heap alignment to large page
>>> size though if large pages are used.
>> I didn't realize that the assertion failure had to do with NUMA.
>> Can you explain more?
> Just that at that time when NUMA for parallel gc has been added,
> probably this sizing code got revised, and this behavior added just for
> parallel gc. And forgotten for others.
>
> Also, trying to size by whole pages likely makes assigning memory to
> nodes easier, i.e. less need to split large pages into smaller ones. But
> that's just a try to make up an explanation from me (for me :).
>
> I will file an RFE for this to increase space/generation alignment if
> large pages are used (I could not find any existing ones) - is this okay
> with you?
>
> Thanks,
> Thomas
>
>




More information about the hotspot-gc-dev mailing list