RFR: JDK-8322943: runtime/CompressedOops/CompressedClassPointers.java fails on AIX [v2]

Goetz Lindenmaier goetz at openjdk.org
Thu Feb 15 14:58:59 UTC 2024


On Wed, 14 Feb 2024 16:45:05 GMT, Joachim Kern <jkern at openjdk.org> wrote:

>> Even after recent fixes like
>> https://bugs.openjdk.org/browse/JDK-8305765
>> the test runtime/CompressedOops/CompressedClassPointers.java fails on AIX.
>> 
>> This error results from the fact, that on AIX the shmat() allocation granularity is 256MB instead of the standard Pagesize (4KB or 64KB).
>> 
>> As a solution we introduce a new method  `os::vm_shm_allocation_granularity()`, which on all platforms except AIX returns the same value as  `os::vm_allocation_granularity()`, but on AIX it returns (in the apropriate cases) 256MB.
>> 
>> This new getter is used at all needed places instead of  `os::vm_allocation_granularity()`.
>
> Joachim Kern has updated the pull request incrementally with one additional commit since the last revision:
> 
>   following Goetz objections

Hi Thomas,

> But what you attempt to do already exists: this is exactly what vm_allocation_granularity() does: 

Well, that's not really true. As I understand, on AIX, there are both alignments (4k, 256M) at the same time, depending on whether shmat or mmap is used.  And both are used.
Please see https://github.com/openjdk/jdk/blob/9a1b843ff6ef72e17ec6096733408c5e265ee429/src/hotspot/os/aix/os_aix.cpp#L2169

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

PR Comment: https://git.openjdk.org/jdk/pull/17708#issuecomment-1946260365


More information about the hotspot-runtime-dev mailing list