RFR(xxs): 8210314: [aix] NMT does not show "Safepoint" memory type
Thomas Stüfe
thomas.stuefe at gmail.com
Mon Sep 3 11:26:40 UTC 2018
Hi Matthias,
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
>
> MemTracker::record_virtual_memory_reserve(...)
>
> While in perfMemory_linux.cpp (bsd and solaris as well) we call
>
> MemTracker::record_virtual_memory_reserve_and_commit(...)
>
>
> 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
more correct.
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
>> type
>>
>> 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-
>> not-show-safepoint-memory/webrev.00/webrev/
>>
>> 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 ppc-aix-port-dev
mailing list