RFR: JDK-8296784: Provide clean mallinfo/mallinfo2 wrapper for Linux glibc platforms
Roman Kennke
rkennke at openjdk.org
Fri Nov 18 13:18:04 UTC 2022
On Thu, 10 Nov 2022 10:44:55 GMT, Thomas Stuefe <stuefe 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.
Looks good to me, just one very minor formatting problem in a comment (doesn't require another review from me).
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.
-------------
Marked as reviewed by rkennke (Reviewer).
PR: https://git.openjdk.org/jdk/pull/11088
More information about the hotspot-runtime-dev
mailing list