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

Yumin Qi minqi at openjdk.java.net
Thu Mar 11 16:52:10 UTC 2021


On Wed, 10 Mar 2021 18:33:53 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

>> Yumin Qi has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains seven commits:
>> 
>>  - Merge branch 'master' into jdk-8236847
>>  - 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
>
> src/hotspot/share/memory/metaspaceShared.cpp line 125:
> 
>> 123: // os::vm_allocation_granularity() is usually 4K for most OSes. However, on Linux/aarch64,
>> 124: // it can be either 4K or 64K and on Macosx-arm it is 16K. To generate archives that are
>> 125: // compatible for both settings. An alternative cds core region alignment can be enabled
> 
> dot -> comma and lowercase

Thanks. Fixed.

> src/hotspot/os_cpu/bsd_x86/os_bsd_x86.hpp line 30:
> 
>> 28: #if defined(COMPATIBLE_CDS_ALIGNMENT)
>> 29: #define CDS_CORE_REGION_ALIGNMENT (16*K)
>> 30: #endif
> 
> Could you limit this to `_APPLE_`? I don't think this affects the BSDs.
> 
> (We really should separate BSD and MacOS sources at some point.)
> 
> Also maybe a comment like this: "Core region alignment is 16K to be able to run binaries built on MacOS x64 on MacOS aarch64." ?

Fixed. Thanks.

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

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



More information about the build-dev mailing list