RFR: JDK-8296784: Provide clean mallinfo/mallinfo2 wrapper for Linux glibc platforms
Thomas Stuefe
stuefe at openjdk.org
Fri Nov 18 14:07:22 UTC 2022
On Fri, 18 Nov 2022 13:13:51 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> This is a breakout from [JDK-8293114](https://bugs.openjdk.org/browse/JDK-8293114), which is starved for reviews. So I attempt to break up that fix into smaller units which are hopefully easier to review separately.
>>
>> We use the glibc-specific mallinfo/mallinfo2 APIs to query libc internals. These are quite important, since they are the only way to get the malloc load and retained size from the glibc allocator. NMT only reports a tiny part of that (only the user-view of whatever hotspot allocated).
>>
>> Using these APIs and staying glibc-agnostic requires some twiddling. This patch provides a clean wrapper to hide that twiddling from the end caller.
>>
>> Patch also fixes a display error that may have caused omission of the "may have wrapped" marker in the hs-err printout of the malloc load.
>>
>> Also, gtest regression test.
>
> src/hotspot/os/linux/os_linux.hpp line 408:
>
>> 406: // 64-bit on 64-bit platforms. Legacy mallinfo uses 32-bit fields. However, legacy
>> 407: // mallinfo is still perfectly fine to use if we know the sizes cannot have wrapped.
>> 408: // For example, if the process virtual size does not exceed 4G, we cannot hav
>
> Minor nit: the e is wrapped onto the next line.
Huch. Thanks!
-------------
PR: https://git.openjdk.org/jdk/pull/11088
More information about the hotspot-runtime-dev
mailing list