RFR: 8334371: [AIX] Beginning with AIX 7.3 TL1 mmap() supports 64K memory pages [v2]

Thomas Stuefe stuefe at openjdk.org
Wed Jun 19 11:21:17 UTC 2024


On Wed, 19 Jun 2024 11:04: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().
>
> Joachim Kern has updated the pull request incrementally with one additional commit since the last revision:
> 
>   following Thomas proposals

Mostly good

src/hotspot/os/aix/os_aix.cpp line 441:

> 439:           can_use = true;
> 440:         }
> 441:         ::shmdt(p);

Are these just unrelated cleanups? All of this affects shmget etc, I am not sure what this has to do with large-page mmap.

src/hotspot/os/aix/os_aix.cpp line 472:

> 470:         munmap(p, 64*K);
> 471:       }
> 472:     }

Why MAP_SHARED?

src/hotspot/os/aix/os_aix.cpp line 2221:

> 2219:   // LDR_CNTRL    can_use_64K_pages_dynamically(mmap or shm)       what we do                      remarks
> 2220:   // 4K           no                                               4K                              old systems (aix 5.2) or new systems with AME activated
> 2221:   // 4k           yes                                              64k (treat 4k stacks as 64k)    different loader than java and standardsettings

standard settings (blank)

test/hotspot/gtest/runtime/test_os_aix.cpp line 40:

> 38: #include "utilities/macros.hpp"
> 39: #include "utilities/ostream.hpp"
> 40: #include "unittest.hpp"

Suggestion:

#include "runtime/os.inline.hpp"
#include "utilities/debug.hpp"
#include "utilities/globalDefinitions.hpp"
#include "unittest.hpp"


I would guess that is all includes you really need here

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

PR Review: https://git.openjdk.org/jdk/pull/19771#pullrequestreview-2127929782
PR Review Comment: https://git.openjdk.org/jdk/pull/19771#discussion_r1645968347
PR Review Comment: https://git.openjdk.org/jdk/pull/19771#discussion_r1645969297
PR Review Comment: https://git.openjdk.org/jdk/pull/19771#discussion_r1645972688
PR Review Comment: https://git.openjdk.org/jdk/pull/19771#discussion_r1645965999


More information about the hotspot-runtime-dev mailing list