RFR: 8335091: NMT: VMATree reserve_mapping and commit_mapping APIs need MEMFLAGS while un/-committing API has no MEMFLAGS arg [v3]

Gerard Ziemski gziemski at openjdk.org
Thu Jul 25 17:11:35 UTC 2024


On Thu, 25 Jul 2024 14:51:50 GMT, Afshin Zafari <azafari at openjdk.org> wrote:

>> In committing a region, it is not mandatory to provide a MEMFLAGS flag where the committed region inherits the flag from the main region it resides in.
>> In un-committing there is no need to a  MEMFLAGS at all. 
>> The `register_mapping` API of the VMATree *requires* a MEMFLAGS (via metadata arg) in both of these two operations. To do the flag inheriting, it is possible to copy the flag of the left node in the tree to the newly inserted ones. 
>> 
>> An optional bool arg (default is false) is added to VMATree API to copy the existing flag of the left node to the new nodes.
>
> Afshin Zafari has updated the pull request incrementally with one additional commit since the last revision:
> 
>   reserve always use the flag in metadata

test/hotspot/gtest/nmt/test_vmatree.cpp line 178:

> 176: 
> 177:       tree.reserve_mapping(0, 100, rd1);
> 178:       tree.commit_mapping(20, 50, rd2, true); // mtTest flag is to be copied to new nodes, even if it is given as mtNMT.

When does this happen, that we reserve an overlapping region with a different NMT flag?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20330#discussion_r1691842303


More information about the hotspot-runtime-dev mailing list