RFR: 8253650: Cleanup: remove alignment_hint parameter from os::reserve_memory [v2]
Thomas Schatzl
tschatzl at openjdk.java.net
Thu Oct 1 11:53:28 UTC 2020
On Wed, 30 Sep 2020 12:34:45 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:
>> Hi all,
>>
>> since ancient times os::reserve_memory() carried around an "alignment_hint" parameter. It was undocumented but from the
>> name it suggests it would cause os::reserve_memory() to try to align the start of the mapping to a given alignment.
>> However, the only platform ever doing anything with this parameter was AIX, and there only in mmap() mode. All other
>> platforms ignored the parameter. So it can be removed, provided we fix the AIX case.
>> Notes:
>> - if one really needs alignment memory, there is os::reserve_memory_aligned() which guarantees the alignment. It will do
>> the usual over-reserving-and-chopping-away to do that.
>> - On AIX there is a second reason why we align the mmap() result pointer to 64K, since we "fake" 64K pages in some
>> places. I disentangled that alignment handling from the caller provided alignment.
>> - This affects os::reserve_memory() as well as the new os::reserve_memory_with_fd()
>> - I also fixed comments in virtualSpace.cpp which do not apply anymore after JDK-8253638
>>
>> Tests: tier1, manual builds and tests on AIX
>
> Thomas Stuefe has updated the pull request incrementally with one additional commit since the last revision:
>
> Comment fixes
Marked as reviewed by tschatzl (Reviewer).
src/hotspot/os/posix/os_posix.cpp line 327:
> 325: // Todo: this probably works more out of accident. Using reserve_mmapped_memory would require an munmap
> 326: // to release, but later in this function os::release_memory is used which is not guaranteed to use mmap.
> 327: // See JDK-8253851.
Looks good apart from these two todo comments (i.e. the TODO:really? one and the last paragraph): they only replicate
the information you added to JDK-8253851. Source code isn't a good place to track issues, so I would prefer if these
comments were removed since they seem superfluous. Your call.
-------------
PR: https://git.openjdk.java.net/jdk/pull/430
More information about the hotspot-dev
mailing list