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

Ioi Lam iklam at openjdk.java.net
Thu Mar 4 23:44:42 UTC 2021


On Wed, 3 Mar 2021 20:59:28 GMT, Ioi Lam <iklam 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 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
>
> LGTM

I think this part of test/hotspot/jtreg/runtime/cds/appcds/SharedArchiveConsistency.java needs to be changed, too:

    public static long align_up_page(long l) throws Exception {
        // wb is obtained in getFileOffsetInfo() which is called first in main() else we should call
        // WhiteBox.getWhiteBox() here first.
        int pageSize = wb.getVMPageSize();    <<<<<
        return (l + pageSize -1) & (~ (pageSize - 1));
    }

The `pageSize` should be `FileMapHeader::_core_region_alignment`.

There's a similar problem in the test dynamicArchive/ArchiveConsistency.java.

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

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


More information about the hotspot-runtime-dev mailing list