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

Johan Sjölen jsjolen at openjdk.org
Tue May 23 15:12:27 UTC 2023


On Tue, 23 May 2023 09:53:02 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:

>> src/hotspot/share/services/virtualMemoryTracker.cpp line 536:
>> 
>>> 534:       reserved_rgn->exclude_region(addr, size);
>>> 535:       return true;
>>> 536:     } else {
>> 
>> OK! We split the region into two, that looks good. What happens to the committed regions that are part of both the removed reserved region and one of the surviving regions (or why not both?).
>> 
>> 
>>           *   &
>>           |   |
>> [---------------]
>>        [----]
>> ~>
>> [-----]     [---]
>> 
>> 
>> What if we have a committed region starting by the `*` and ending at the `&`, what happens to it?
>
> Easier example:
> 
> 
> - = reserved
> C = committed
> D = to be deleted
> [---------------]
>   [CCCCCCCCC]
>      [DDD]
> Are the results:
> [----]   [-------]
>   [CC]   [CC]
> Where the left C is part of the left - and the right C is part of the right -
> Because it looks like the results might be:
> [----]   [-------]
>   [CCCCCCCCC]
> where the left - owns the committed region

It looks like the tests only check the results of reserved regions.

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

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


More information about the hotspot-runtime-dev mailing list