RFR: 8263464: NMT: assert in gtest os.release_multi_mappings_vm [v2]

Gerard Ziemski gziemski at openjdk.org
Tue May 9 18:47:22 UTC 2023


On Mon, 8 May 2023 19:12:41 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

>> I think I see 3 more cases for the release pattern that we can add:
>> 
>> 
>>   [aaaa][bbbb][cccc][dddd]
>> 
>> 1 [....][xxxx][xxxx][....]
>> 2 [....][..xx][xxxx][....]
>> 3 [....][xxxx][xx..][....]
>> 4 [....][..xx][xx..][....]
>> 
>> 5 [....][..xx][....][....]
>> 6 [....][....][xx..][....]
>> 7 [....][.xx.][....][....]
>> 
>> 
>> Aren't cases 5,6 and 7 unique?
>
>> Aren't cases 5,6 and 7 unique?
> 
> Are they not already covered by existing tests? Since that functionality already exists?

I might be missing it, but `grep -crn "release_memory(" test/hotspot/gtest` shows:


test/hotspot/gtest/memory/test_virtualspace.cpp:2
test/hotspot/gtest/runtime/test_os.cpp:20
test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp:1
test/hotspot/gtest/nmt/test_nmt_locationprinting.cpp:1


And when I look at the files I see:

`test/hotspot/gtest/runtime/test_os.cpp`
- tests bad ranges on Windows
- tests striped reserve, followed by one full release, one full re-reserve, then release again
- tests os::print_memory_mappings()
- tests os::win32::find_mapping()
- tests `stripe-stripe-stripe-stripe-stripe-stripe` reserve, followed by `stripe-______-______-______-______-stripe` release, then re-reserve middle stripes, then full release

`test/hotspot/gtest/memory/test_virtualspace.cpp`
- tests different sizes, alignments, one at a time

`test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp`
- tests whether the memory is resident

`test/hotspot/gtest/nmt/test_nmt_locationprinting.cpp`
- tests NMT print_containing_region mechanism

So, no, I don't see dedicated partial release tests of single ranges.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13813#discussion_r1189006701


More information about the hotspot-runtime-dev mailing list