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