RFR: 8366780: Enhance ProcSmapsParser and Printer to handle THPeligible field
Albert Mingkun Yang
ayang at openjdk.org
Thu Sep 4 17:59:41 UTC 2025
On Thu, 4 Sep 2025 14:19:06 GMT, Stefan Johansson <sjohanss at openjdk.org> wrote:
> Please review this enhancement to the smaps parser and printer.
>
> **Summary**
> While working on [JDK-8366434](https://bugs.openjdk.org/browse/JDK-8366434) one idea for a test to verify if the heap CAN be backed by transparent huge pages (THP) was to use PrintMemoryMapAtExit and look at the tags printed for JAVAHEAP.
>
> It turns out this worked in most cases but on systems where the THP mode is configured as 'always' but there are no huge pages available for use, the JAVAHEAP line will not show any indication that it can be backed by huge pages.
>
> For this to be possible we need to parse the field THPeligible as well and include this information in the printouts. With this change we now parse the THPeligible field and tag mapping that are THP eligible with `thpel`. We skip this tag for mappings that are tagged with `thpad` (madvised with MADV_HUGEPAGE) to avoid too much THP info on one mapping.
>
> **Testing**
> * Mach5 testing with the existing test showed a need to update the regex for verifying Metaspace and the fix have been tested manually locally as well as in Mach5.
src/hotspot/os/linux/procMapsParser.hpp line 52:
> 50: size_t anonhugepages;
> 51: size_t swap;
> 52: size_t thpeligible;
Why `size`? Its name sounds like `bool`?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27098#discussion_r2322987857
More information about the serviceability-dev
mailing list