[jdk21u-dev] Integrated: 8334371: [AIX] Beginning with AIX 7.3 TL1 mmap() supports 64K memory pages
Joachim Kern
jkern at openjdk.org
Wed Feb 5 09:53:24 UTC 2025
On Mon, 27 Jan 2025 12:13:46 GMT, Joachim Kern <jkern at openjdk.org> wrote:
> Beginning with AIX 7.3 TL1 mmap() supports 64K memory pages. As an enhancement, during the initialization of the VM the availability of this new feature is examined. If the 64K pages are supported the VM will use mmap() with 64K pages instead of shmget()/shmat() with 64K pages due to the bad 256M alignment of shmget()/shmat().
>
> In this downport to jdk21 we want to support the new AIX 7.3 TL1 feature, but with some differences explained here:
> - `static void query_multipage_support()` in `src/hotspot/os/aix/os_aix.cpp`
> The structure of the function was changed identically in head and jdk21. Because jdk21 beforehand used trcVerbose(...) and head beforehand used log_warning(pagesize)(...) this seems to be a difference, but I just kept the tracing functions as the were before.
>
> - `src/hotspot/share/memory/virtualspace.cpp`
> Adding the use of `os::Aix::supports_64K_mmap_pages()` introduces the dependency to the header `src/hotspot/os/aix/os_aix.hpp`. In head this header was included with `#include "runtime/os.inline.hpp"` beforehand by dependant code added after jdk21. Therefore I have to include `#include "runtime/os.inline.hpp" `explicitely in virtualspace.cpp. `#include "runtime/os.hpp"` can be dropped instead.
>
> - `src/hotspot/share/runtime/os.cpp`
> Function `char* os::attempt_reserve_memory_between()` does not exist in jdk21, so I do not have to port the adoptions of head there.
>
> - `TEST_VM(os, aix_reserve_at_non_shmlba_aligned_address)` moved from `test/hotspot/gtest/runtime/test_os.cpp` to `test/hotspot/gtest/runtime/test_os_aix.cpp`
> This test function does not exist in jdk21, so there is nothing to move.
This pull request has now been integrated.
Changeset: 29a5de08
Author: Joachim Kern <jkern at openjdk.org>
URL: https://git.openjdk.org/jdk21u-dev/commit/29a5de085a4eb746dcad637ced4cb719a59c3013
Stats: 97 lines in 3 files changed: 51 ins; 8 del; 38 mod
8334371: [AIX] Beginning with AIX 7.3 TL1 mmap() supports 64K memory pages
Reviewed-by: mdoerr, stuefe
Backport-of: ced99066354fc6a32c587b9e3c35b07e26d3452e
-------------
PR: https://git.openjdk.org/jdk21u-dev/pull/1362
More information about the jdk-updates-dev
mailing list