RFR: 8312132: Add tracking of multiple address spaces in NMT [v46]
Johan Sjölen
jsjolen at openjdk.org
Fri May 3 08:28:06 UTC 2024
On Thu, 2 May 2024 14:38:43 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:
>> Let's wait with this until we actually port over the `VirtualMemoryTracker` to use `VMATree`.
>
> I think we should rethink recording specific stacks for uncommitted memory. I don't believe anyone cares who reserves uncommitted memory; or who uncommits memory. And this only leads to splintering the tree, if we uncommit from different callsites. We should consider keeping stacks for committed memory only, and use some noop stack placeholder for uncommitted mmeory.
The issue, as I see it, is that we think of committing memory as a "layering" on top of reserving memory, and when that commit goes away the underlying layer of reserved memory is exposed again. In our VMATree, we don't store that underlying reservation anymore.
So what to do? If we add callstack and MEMFLAGS for uncommitting memory then that's an easy solution. The best would be to keep VMT's semantics here. We can do that, if the metadata stored is doubled in size per node and we recognise this pattern.
Still, I'll re-iterate: This is a problem for tomorrow, when we do port VMT.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18289#discussion_r1588899271
More information about the hotspot-dev
mailing list