RFR(xxs): 8210314: [aix] NMT does not show "Safepoint" memory type
martin.doerr at sap.com
Mon Sep 3 12:36:59 UTC 2018
thanks for explaining. I think using "record_virtual_memory_reserve_and_commit" makes sense because it combines "reserve" and "commit" which matches what the implementation does.
The change looks good to me.
From: ppc-aix-port-dev <ppc-aix-port-dev-bounces at openjdk.java.net> On Behalf Of Thomas Stüfe
Sent: Montag, 3. September 2018 13:27
To: Baesken, Matthias <matthias.baesken at sap.com>
Cc: ppc-aix-port-dev at openjdk.java.net; Hotspot dev runtime <hotspot-runtime-dev at openjdk.java.net>
Subject: Re: RFR(xxs): 8210314: [aix] NMT does not show "Safepoint" memory type
thanks for the review.
On Mon, Sep 3, 2018 at 12:29 PM, Baesken, Matthias
<matthias.baesken at sap.com> wrote:
> Hi Thomas, looks good to me ( not a Reviewer however).
> One other small difference I noticed when comparing AIX to other UNIX implementations (e.g. linux / bsd ) :
> In perfMemory_aix.cpp / mmap_create_shared and mmap_attach_shared we call
> While in perfMemory_linux.cpp (bsd and solaris as well) we call
> Is there really a need for different call on AIX ?
In short, record_virtual_memory_reserve() should only be used
whereever mmap( ... MAP_NORESERVE ...) is used. So,
MemTracker::record_virtual_memory_reserve_and_commit(...) would be
However, on AIX we have no explicit commit (os::commit()) is a noop,
and there is no MAP_NORESERVE - the system just provides swapping
space by default as needed. So, this aspect of NMT - the "committed"
numbers for virtual memory - is right now broken, just a rough
estimate, and right now I have absolutely no clue how to fix it.
Best Regards, Thomas
> And the z GC code base ( jdk/src/hotspot/os_cpu/linux_x86/gc/z/) contains also a couple of mmap calls , wonder where those are recorded .
> Best regards, Matthias
>> -----Original Message-----
>> From: ppc-aix-port-dev <ppc-aix-port-dev-bounces at openjdk.java.net> On
>> Behalf Of Thomas Stüfe
>> Sent: Montag, 3. September 2018 11:46
>> To: Hotspot dev runtime <hotspot-runtime-dev at openjdk.java.net>; ppc-
>> aix-port-dev at openjdk.java.net
>> Subject: RFR(xxs): 8210314: [aix] NMT does not show "Safepoint" memory
>> Hi all,
>> may I please have reviews for this small, AIX-only change.
>> cr: http://cr.openjdk.java.net/~stuefe/webrevs/8210314-aix-NMT-does-
>> bug: https://bugs.openjdk.java.net/browse/JDK-8210314
>> On AIX, we have our own initialization for the safepoint mechanism. We
>> missed registering the polling page with NMT, which the generic code
>> path did. This patch adds that.
>> Side note:
>> We are different for two reasons. One, on ppc we use per default
>> SIGTRAP for safepoint signalling, which can be switched off though.
>> Second, on AIX, we cannot use os::reserve_memory() to obtain a polling
>> page since that memory may not protectable (if it uses sysV shmat).
>> Hence, the AIX specific coding.
>> Best Regards, Thomas
More information about the hotspot-runtime-dev