RFR: 8330076: [NMT] add/make a mandatory MEMFLAGS argument to family of os::reserve/commit/uncommit memory API [v5]
Thomas Stuefe
stuefe at openjdk.org
Sat Apr 13 05:41:42 UTC 2024
On Fri, 12 Apr 2024 19:10:09 GMT, Afshin Zafari <azafari at openjdk.org> wrote:
>> `MEMFLAGS flag` is used to hold/show the type of the memory regions in NMT. Each call of NMT API requires a search through the list of memory regions.
>> The Hotspot code reserves/commits/uncommits memory regions and later calls explicitly NMT API with a specific memory type (e.g., `mtGC`, `mtJavaHeap`) for that region. Therefore, there are two search in the list of regions per reserve/commit/uncommit operations, one for the operation and another for setting the type of the region.
>> When the memory type is passed in during reserve/commit/uncommit operations, NMT can use it and avoid the extra search for setting the memory type.
>>
>> Tests: tiers1-5 passed on linux-x64, macosx-aarch64 and windows-x64 for debug and non-debug builds.
>
> Afshin Zafari has updated the pull request incrementally with one additional commit since the last revision:
>
> mtCode and mtMetaspace were missed from System Dump map
Just a thought: one (manual) test I would do would be that several JVMs run with the same conditions (I would do at least one with -Xmx=Xms and AlwaysPreTouch) accumulate the same NMT numbers, current, and peak. Just to make sure we use the same flags before and after.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/18745#issuecomment-2053511560
More information about the shenandoah-dev
mailing list