RFR: 8253650: Cleanup: remove alignment_hint parameter from os::reserve_memory

Stefan Karlsson stefank at openjdk.java.net
Wed Sep 30 11:03:44 UTC 2020


On Wed, 30 Sep 2020 10:57:37 GMT, Stefan Karlsson <stefank 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
>
> src/hotspot/os/posix/os_posix.cpp line 321:
> 
>> 319:     // For file mapping, we do not call os:reserve_memory() because
>> 320:     // we need to deal with shrinking of the file space later when we release extra memory after alignment.
>> 321:     // We also cannot called os:reserve_memory() with file_desc set to -1 because on aix we might get SHM memory.
> 
> Pre-existing: "Cannot called " =>  "Cannot call"

and maybe os::reserve_memory() => os::reserve_memory_with_fd()

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

PR: https://git.openjdk.java.net/jdk/pull/430


More information about the hotspot-dev mailing list