[16] RFR(T) 8248426: NMT: VirtualMemoryTracker::split_reserved_region() does not properly update summary counting

Thomas Stüfe thomas.stuefe at gmail.com
Tue Jun 30 04:26:41 UTC 2020


On Mon, Jun 29, 2020 at 4:29 PM Zhengyu Gu <zgu at redhat.com> wrote:

> Hi Thomas,
>
> On 6/29/20 2:30 AM, Thomas Stüfe wrote:
> >
> >     - splitting the reserved region
> >
> >     Could we not simply add the call
> >     to VirtualMemorySummary::record_released_memory(size,
> >     reserved_rgn->flag()); to
> >     VirtualMemoryTracker::split_reserved_region() instead?
>
> I assume you could. Then removing and adding reserved region calls
> are asymmetrical.
>
>
How so?


> For this particular case, remove_released_region() turns out to be
> exactly what you suggested, since reserved_rgn->same_region(addr, size)
> == true.
>
> ...
> VirtualMemorySummary::record_released_memory(size, reserved_rgn->flag());
>
> ...
>
> return _reserved_regions->remove(rgn);
>
>
>
One other disadvantage is that
using VirtualMemoryTracker::remove_released_region() will do the region
lookup again, so we pay twice for the lookup.

But if you are still unconvinced, I won't hold you up. The change certainly
works as it is now and is okay for me, it just would not be my preferred
solution.

Cheers, Thomas


> Thanks,
>
> -Zhengyu
>
>
> >
> >     Thanks, Thomas
> >
> >
> >
> >
> >
> >     On Fri, Jun 26, 2020 at 10:54 PM Zhengyu Gu <zgu at redhat.com
> >     <mailto:zgu at redhat.com>> wrote:
> >
> >         Hi,
> >
> >         Please review this trivial patch that fixes summary counting in
> >         VirtualMemoryTracker::split_reserved_region().
> >
> >         The method uses internal method to remove a reserved region,
> >         which does
> >         not update counting information. It should use high level
> tracking
> >         method VirtualMemoryTracker::remove_released_region() instead.
> >
> >         Without patch, NMT summary reports uncategorized memory, e.g.
> >
> >         -                   Unknown (reserved=1060416KB, committed=0KB)
> >                                       (mmap: reserved=1060416KB,
> >         committed=0KB)
> >
> >
> >
> >
> >         Bug: https://bugs.openjdk.java.net/browse/JDK-8248426
> >         Webrev: http://cr.openjdk.java.net/~zgu/JDK-8248426/webrev.00/
> >
> >         Test:
> >             hotspot_nmt
> >             Submit test in progress
> >
> >
> >         Thanks,
> >
> >         -Zhengyu
> >
>
>


More information about the hotspot-runtime-dev mailing list