RFR: 8236847: CDS archive with 4K alignment unusable on machines with 64k pages [v6]

Magnus Ihse Bursie ihse at openjdk.java.net
Tue Mar 9 17:45:10 UTC 2021


On Mon, 1 Mar 2021 17:08:02 GMT, Yumin Qi <minqi at openjdk.org> wrote:

>> Hi, Please review
>>   Usually most OSes are configured with page size of 4K, but some others are configured with 64K. If jdk binary is built on 4K platform and run on different configured platforms, CDS fails to be loaded due to region alignment mismatch:
>>   Unable to map CDS archive -- os::vm_allocation_granularity() expected: 4096 actual: 65536
>>   This change uses 64K as region alignment if OS page size is less than 64K. For most of the current OSes, means always use 64K as file map region alignment.
>>    The archive size will increase about 300K due to the change. 
>>    Tests: tier1-4
>>               Run MacOS/X64 binary on MacOS/aarch64 
>> 
>>    Thanks
>>    Yumin
>
> Yumin Qi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:
> 
>  - Merge master
>  - Add --enable-compatible-cds-alignment for linux-aarch64 and macosx-x64 in jib job
>  - Switch to enble compatible-cds-alignment at configuration
>  - Make CDS core region alignment configurable at build time
>  - Make 64K core region alignment only for specific platforms, also fixed comments as suggestions.
>  - 8236847: CDS archive with 4K alignment unusable on machines with 64k pages

Build changes look good.

-------------

Marked as reviewed by ihse (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/2651


More information about the hotspot-runtime-dev mailing list