[aarch64-port-dev ] Issue with 64K page size for JDK7 on AArch64
Andrew Haley
aph at redhat.com
Fri Nov 7 13:24:48 UTC 2014
On 11/07/2014 10:48 AM, Andrew Dinn wrote:
> On 07/11/14 10:31, Andrew Haley wrote:
>> On 07/11/14 10:08, Andrew Dinn wrote:
>>> Anyone have any comments or arguments in favour or against?
>>
>> I don't know why the heap size has to be rounded up to be an integer
>> multiple of the size of the card table. But there may be logic in the
>> collectors which assumes it is.
>>
>> It might be that we can get away with allocating card tables which
>> aren't a multiple of the page size, but I don't know how much code
>> might break. Shouldn't be any, but who knows?
>
> I am just investigating that but I think the effect is limited to the
> card table code and that it copes with it. I will report my findings.
>
>> The pages are 64k in order to reduce page table walks for machines
>> with large memory. So, it is assumed that there will be plenty of
>> memory on such systems: that's the whole idea. If you want small
>> footprint you will not configure your system with 64k pages. Keep
>> that in mind.
>
> Pardon my ignorance but is os page size an OS boot time configuration
> option?
Usually, yes.
>> The right way to fix this problem is, I suspect, not to round down the
>> size of a heap but to round it up to the next multiple of 32m, and
>> thank God we no longer have to deal with the permgen.
>
> Looking at the jdk8 code that is indeed what it does.
It'd be a good idea to import this change.
> I am not sure rounding up on JDK7 will not also break existing
> apps/tests bu I will check that too. Even if it does not break it will
> mean that VMs tend to run with a larger footprint than requested should
> they be run on an OS with a 64K page size. That's not necessarily a good
> thing but we could probably live with it.
Indeed we could.
Andrew.
More information about the aarch64-port-dev
mailing list