RFR: 8236847: CDS archive with 4K alignment unusable on machines with 64k pages
Andrew Haley
aph at openjdk.java.net
Tue Feb 23 09:32:41 UTC 2021
On Fri, 19 Feb 2021 18:15:45 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
src/hotspot/share/memory/archiveBuilder.hpp line 230:
> 228: public:
> 229: // Use this when you allocate space outside of ArchiveBuilder::dump_{rw,ro}_region. These are usually for misc tables
> 230: // that are allocated in the RO space.
This line is too long.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2651
More information about the hotspot-runtime-dev
mailing list